NEWS
CCU übernimmt hm-rpc State per Skript nicht
-
Nächster Schritt:
Ich habe jetzt das folgende Scriptfragment auf meiner neuesten Testumgebung laufen gelassen:

Da hat es geklappt.
(Der Wert der RAMP_Time bleibt hier auch auf rot)Auf der Produktiven läuft noch der Controller 1.5.4 - hier der 2.1.1
Alle anderen Versionen sind gleich (aktuelles stable) -
Neue Info:
Habe eben nochmal manuell die RAMP_TIME gesetzt und anschließend den LEVEL verändert.
Habe zwar nicht gestoppt ob die Rampe 90 Sekunden dauerte, aber es lief seeehr langsam.Aber: Der Wert (90) blieb jetzt auch rot
@foxriver76
wie sehe ich, ob der Wert in der CCU übernommen wird?
Das ist kein "Bedienwert", kann ausschließlich über Programme gesetzt werden. -
und jetzt wird es richtig strange:
Ich habe die Skriptschnipsel auf die produktive Installation kopiert und da läuft es auch -
@Homoran sagte:
Aber: Der Wert (90) blieb jetzt auch rot
Nicht alle Datenpunkte werden durch die CCU bestätigt. Bei MANU_MODE z.B. erfolgt die Bestätigung durch Übernahme des Wertes in SET_TEMPERATURE.
@paul53 das könnte hier auch gut passen, da dieser Wert ja nicht sofort von der CCU übernommen wird, sondern erst mit dem nächsten LEVEL-Telegramm geschickt wird
-
und jetzt wird es richtig strange:
Ich habe die Skriptschnipsel auf die produktive Installation kopiert und da läuft es auch -
Neue Info:
Habe eben nochmal manuell die RAMP_TIME gesetzt und anschließend den LEVEL verändert.
Habe zwar nicht gestoppt ob die Rampe 90 Sekunden dauerte, aber es lief seeehr langsam.Aber: Der Wert (90) blieb jetzt auch rot
@foxriver76
wie sehe ich, ob der Wert in der CCU übernommen wird?
Das ist kein "Bedienwert", kann ausschließlich über Programme gesetzt werden.@Homoran sagte in CCU übernimmt hm-rpc State per Skript nicht:
Aber: Der Wert (90) blieb jetzt auch rot
@foxriver76
wie sehe ich, ob der Wert in der CCU übernommen wird?
Das ist kein "Bedienwert", kann ausschließlich über Programme gesetzt werden.Mit nem Skript auf der CCU wie es zb der Rega Adapter bei Neustart ausführt. Da werden die Werte alle ausgelesen. Bzw als Einzeiler sowas (ungetestet):
WriteLine(dom.GetObject("idDeinesDps").Value()) -
@Homoran sagte:
Skriptschnipsel auf die produktive Installation kopiert und da läuft es auch
Auch dann, wenn steuere LEVEL um 20 s verzögert wird ?
@paul53 sagte in CCU übernimmt hm-rpc State per Skript nicht:
@Homoran sagte:
Skriptschnipsel auf die produktive Installation kopiert und da läuft es auch
Auch dann, wenn steuere LEVEL um 20 s verzögert wird ?
gerade auch das getestet: ja!
-
@Homoran sagte in CCU übernimmt hm-rpc State per Skript nicht:
Aber: Der Wert (90) blieb jetzt auch rot
@foxriver76
wie sehe ich, ob der Wert in der CCU übernommen wird?
Das ist kein "Bedienwert", kann ausschließlich über Programme gesetzt werden.Mit nem Skript auf der CCU wie es zb der Rega Adapter bei Neustart ausführt. Da werden die Werte alle ausgelesen. Bzw als Einzeiler sowas (ungetestet):
WriteLine(dom.GetObject("idDeinesDps").Value())@foxriver76
Da merke ich erst wie lange ich aus der CCU-Programmierung raus bin
Ich habe es hiermit versucht:
m = (dom.GetObject("JEQ0201654:1.RAMP_TIME").Value()); dom.GetObject("Rampenzeit").State(m);um es direkt in eine Systemvariable zu schreiben, aber das auslesen des Datenpunktes scheint schon nicht zu klappen.
Kannst du mir sagen ob die Schreibweise des DP korrekt ist?
Dann kann ich weiter suchen.
EDIT:
ich fürchte das wird nichts :Parameter RAMP_TIME
Typ: float
Zugriffsart: schreibend
Minimaler Wert: 0.0
Maximaler Wert: 85825945.6
Standardwert: 0.5
Einheit: sder kann gar nicht ausgelesen werden
-
@paul53 sagte in CCU übernimmt hm-rpc State per Skript nicht:
@Homoran sagte:
Skriptschnipsel auf die produktive Installation kopiert und da läuft es auch
Auch dann, wenn steuere LEVEL um 20 s verzögert wird ?
gerade auch das getestet: ja!
-
@Homoran sagte:
gerade auch das getestet: ja!
Dann wird wohl irgendetwas innerhalb der 20 s Differenz im Blockly dazwischen funken. Zeichne mal beide Datenpunkte per History auf (alles aufzeichnen).
@paul53 sagte in CCU übernimmt hm-rpc State per Skript nicht:
Zeichne mal beide Datenpunkte per History auf
Das habe ich deswegen schon eingeleitet. ;-)
Außerdem habe ich statt der Verzögerung ein 90 Sekunden Timeout genommen.
Mal sehen was daraus wird.
Weiß allerdings nicht wann ich das testen darfIch kenne es ja von der CCU, dass man Programme einfach neu schreiben muss, wenn man zu oft darin editiert hat. Aber bei ioBroker sollte das wohl nicht passieren.
Habe inzwischen nämlcih schon an allen möglichen Enden versucht zu schrauben.
Meine heutige Version sieht jetzt so aus:
Vielleicht siehst du ja noch etwas. (Wenn du magst)
-
Heute abend hat es geklappt!
Gut - wieder drei Schritte auf einmal gemacht.
Abgesehen von den zwei Änderungen im Skript (statt Verzögerung ein Timeout und die Reihenfolge der Befehle geändert) hatte ich wegen des anderen Threads (siehe link im 1. Post) auch vorher manuell die RAMP-Time auf 90 gesetzt und per Programm auf 60.
Grund: In dem anderen Thread funktionierte das Setzen der Behanghöhe auch nur nach unten, nicht nach oben.jetzt steht dieser State auf 60 und wird beim nächsten Mal auf 90 gesetzt.
Mal sehen wie das wird.Das log hat nicht allzuviel gezeigt. der Wert des Timestamps der Helligkeiten beim runterdimmen:
0 true 2019-12-30 17:47:21.611 25.5 true 2019-12-30 17:47:18.360 59.5 true 2019-12-30 17:46:44.707 60 true 2019-12-30 17:45:27.024 60 true 2019-12-30 17:45:23.822 60 true 2019-12-30 17:45:17.922(die 60 stammt aus dem Schritt vor dem 90 Sekunden Timeout!)
und des Setzens der RAMP_TIME unmittelbar davor
60 false 2019-12-30 17:46:44.538da ich diesmal ohne Verzögerung gearbeitet habe

Danke erst einmal an eure Hilfe.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden