Seite 1 von 4

Rolladenaktor mit Script ansteuern

Verfasst: 10.02.2023, 16:47
von heidepower
Hallo zusammen,

wie lautet die Scriptzeile, um einen Rollladenaktor auf pos X zufahren? zb. hat die Variable 50%.

Grüße heidepower

Re: Rolladenaktor mit Script ansteuern

Verfasst: 10.02.2023, 16:53
von Baxxy
Welche Scriptsprache?
Welcher Aktor?

Re: Rolladenaktor mit Script ansteuern

Verfasst: 10.02.2023, 19:59
von MichaelN
Siehe Signatur

In Skript Befehle gibt es ein Beispiel und einen link zu einer Erklärung wie am die Datenpunkte heraus findet.

Re: Rolladenaktor mit Script ansteuern

Verfasst: 10.02.2023, 20:57
von heidepower
@Baxxy in der Homematic Skriptsprache. Es handelt sich um ein asksinpp Aktor! Jalousienaktor

Re: Rolladenaktor mit Script ansteuern

Verfasst: 10.02.2023, 23:23
von Baxxy
Ok, dann hier mal eine Blaupause für einen HM-Rollladenaktor den ich mal auf HB umgeflasht hatte.
Dürfte beim Asksinpp-Gerät ähnlich oder gleich sein.

Code: Alles auswählen

string aktorkanalname = "HB-LC-Bl1PBU-FM 198:1 - Jalousieaktor"; !- Name von Kanal:1 wie in der WebUI vergeben
integer sollwert = 66;

object dp_level = channels.Get (aktorkanalname).DPByHssDP ("LEVEL");
if (!dp_level) { WriteLine("Kanal und / oder Datenpunkt nicht gefunden!"); quit; }
	sollwert = sollwert.ToFloat() / 100.0;
    WriteLine("Ist: "# dp_level.Value() #" / Soll: "# sollwert);
 if (dp_level.Value() != sollwert) { dp_level.State(sollwert); }

Re: Rolladenaktor mit Script ansteuern

Verfasst: 11.02.2023, 00:19
von heidepower
Ok , danke funktioniert

Grüße

Re: Rolladenaktor mit Script ansteuern

Verfasst: 11.02.2023, 00:24
von Baxxy
heidepower hat geschrieben:
11.02.2023, 00:19
geht das nicht einfacher?
Ja sicher. Ich habe es mir aber abgewöhnt Einzeiler ohne Fehlerhandling zu veröffentlichen.

"Gesetzt" wird mit .State(), gelesen mit .Value()

Code: Alles auswählen

dom.GetObject("HM-LC-Bl1-FM papa5932af").DPByHssDP("LEVEL").State(0.5);

Re: Rolladenaktor mit Script ansteuern

Verfasst: 11.02.2023, 08:31
von heidepower
Kann man dem Rolladen anstelle einem Wert keine Variabel zuweisen?

Code: Alles auswählen

var x = dom.GetObject("sonne_elevation").Value() * 1.3;
WriteLine(x);

dom.GetObject("HM-LC-Bl1-FM papa5932af:1").DPByHssDP("LEVEL").State(x);
Grüße

Re: Rolladenaktor mit Script ansteuern

Verfasst: 11.02.2023, 09:28
von MichaelN
heidepower hat geschrieben:
11.02.2023, 08:31
Kann man dem Rolladen anstelle einem Wert keine Variabel zuweisen?
klar kannst du das. Der Wert sollte sich aber im plausiblen Bereich bewegen. Wie groß ist denn dein x?

Re: Rolladenaktor mit Script ansteuern

Verfasst: 11.02.2023, 09:31
von Baxxy
Also den Sollwert aus einer SysVar nutzen?
Klar, kann man auch.

Es muss in der Scriptvariablen "x" nur das richtige Format drinstehen, also ein Wert von 0.00 - 1.00 dabei herauskommen.

Da du so knauserig mit Informationen bist (was enthält "x", wie ist die SysVar angelegt) kann ich nur den Tipp geben das der Wert der SysVar "sonne_elevation" maximal 0.769 sein darf. (0.769 * 1.3 = 0.9997).