NEWS
Rollo über hq widget steuern
-
Ok dann muss ich vermutlich in fhem nochmal nachjustieren. Denn "pos" hat bisher nicht funktioniert... So könnte ich mir natürlich das Skript im Iobroker sparen. Danke!
@marv085 sagte in Rollo über hq widget steuern:
Denn "pos" hat bisher nicht funktioniert...
in FHEM oder in ioBroker?
kann sein, dass der State in ioB über die Objekte "nur" nicht beschreibbar ist
-
@marv085
Grundsätzlich gehen im ioBroker auch nur die Funktionen die in FHEM möglich sind.
Auf die Schnelle gesagt musst du in FHEM die 4 Attribute drive-down-time und drive-up-time mit einer Zeit anlegen. Danach sollte pos in FHEM und ioBroker funktionieren.
Gruß
LausiD -
@Homoran ich kann auch in FHEM keine fixe Zwischenposition angeben. Folgendes hab ich jetzt gemacht:
-Dummy Objekt "Roll_Ess_Pos2
-Dieses im Widget als Objekt angegeben
-getestet wie lange der Rolladen insgesamt zum öffnen/schließen benötigt (24 sek.)Und folgendes Script im IOBroker unter Skripte erstellt:
on({id: 'fhem.0.RolloEss.Roll_Ess_Pos', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (parseFloat((obj.state ? obj.state.val : "")) == 0) { setState("fhem.0.RolloEss.off"/*RolloEss off*/, ((obj.state ? obj.state.val : "") == true)); } if (parseFloat((obj.state ? obj.state.val : "")) == 100) { setState("fhem.0.RolloEss.on"/*RolloEss on*/, ((obj.state ? obj.state.val : "") == true)); } if (parseFloat((obj.state ? obj.state.val : "")) != 0 && parseFloat((obj.state ? obj.state.val : "")) != 100) { if (parseFloat((obj.oldState ? obj.oldState.val : "")) > parseFloat((obj.state ? obj.state.val : ""))) { setState("fhem.0.RolloEss.off-for-timer"/*RolloEss off-for-timer*/, parseFloat((24 * (((obj.oldState ? obj.oldState.val : "") - (obj.state ? obj.state.val : "")) / 100)))); } if (parseFloat((obj.oldState ? obj.oldState.val : "")) < parseFloat((obj.state ? obj.state.val : ""))) { setState("fhem.0.RolloEss.on-for-timer"/*RolloEss on-for-timer*/, parseFloat((24 * (((obj.state ? obj.state.val : "") - (obj.oldState ? obj.oldState.val : "")) / 100)))); } } });Soweit funktioniert jetzt auch alles, nun nur noch meine Frage kann ich das Skript auch direkt im Widget unter dem Reiter Script einfügen? Und wenn ja, hat es vorteile ein Script im Widget zu definieren oder macht es keinen unterschied?
Hallo @marv085, genauso was habe ich gesucht!
Wo (Fhem/IOBroker) und wie hast Du das Dummy Objekt Roll_Ess_pos2 angelegt?
Ich vermute mal Du hast ein Objekt im IOBroker angelegt.Der Name ist Roll_Ess_Pos2, aber was für einen Typ brauche? Datenpunkt, Kanal oder Gerät?
Datenpunkt würde ich ausschließen, bleibt also Kanal oder Gerät. Was ist den richtig? -
Hallo @marv085, genauso was habe ich gesucht!
Wo (Fhem/IOBroker) und wie hast Du das Dummy Objekt Roll_Ess_pos2 angelegt?
Ich vermute mal Du hast ein Objekt im IOBroker angelegt.Der Name ist Roll_Ess_Pos2, aber was für einen Typ brauche? Datenpunkt, Kanal oder Gerät?
Datenpunkt würde ich ausschließen, bleibt also Kanal oder Gerät. Was ist den richtig? -
@keihuli das Objekt ist als Datenpunkt im Iobroker angelegt. Ich benötigte ja nur einen Wert mit dem ich dann die einzelnen Objekte (On, Off,In for timer...) steuern kann. Der richtige Weg für den somfy Rollo in Fhem ist allerdings wie zuvor beschrieben, wenn die Attribute in Fhem richtig definiert wurden benötigt man im Iobroker kein Skript, sondern kann das ganze über den "pos" Wert steuern. (Auch über das HQ shutter Widget)
-
-