NEWS
CCU2 übernimmt keine Variable von IOBroker
-
Sorry, vergessen
![](</s><URL url=)http://up.picr.de/33290739vl.png" /> -
Danke, ich meinte mit
@Homoran:die Konfiguration des hm-rega objects `
Reiter Objekte
Verzeichnis hm-rega. 0
Datenpunkt deiner Systemvariable
Rechts Bleistift
Reiter raw (nur Experten)
Den inhalt hier in code-tags posen.
EDIT
Hat sich überschnitten
Gruß Rainer
-
Ich bin da nicht wirklich fit, aber IMHO muss irgendwie beim setstate das ACK flag false mitgegeben werden.
Gruß Rainer
-
Ich bin eben auch nicht fit, bilde mir aber ein, dass bei "true" die "aktualisiere" Sache aktiviert ist. False kenne ich jetzt nicht.
Ciao Matthias
-
Bei aktualisiere ist ACK = true
Bei Steuere ist ACK = false
-
Ah ja. Was ist wenn nix da steht? Wenn man in Blockly steuere angibt und sich den code anzeigen lässt, steht nix da.
-
Was ist wenn nix da steht? `
Default: false. -
Dann könnte es ja theoretisch funktionieren.
Habe jetzt mal den Text verändert, der in der Variable steht. Jetzt kommt bei Aktualisierung im Objekt der neue Text für ca. 1-2s um dann wieder zurück auf den alten Text zu springen, der eigentlich nirgends gespeichert ist. Es gibt auch kein 2. Script, das diese Variable beschreiben würde.
Seltsam.
Es wird irgendwo, in den unendlichen Weiten, ein Bit verbogen sein :-).
Ciao Matthias
-
Stell mal das objekt auf write (edit: ist es ja schon)
Ändere dann den wert manuell unter Objekte.
Ändert sich dann der Wert in der CCU?
Gruß Rainer
-
Ja, dann geht es.
Habe gearde beobachtet, dass bei den Objekten nach der Aktualisierung der Text grün ist, dann gleich rot. Dann steht er ein paar Sekunden rot da um dann wieder auf den vorherigen Text zurückzuspringen.
-
Mach mal bitte einen Screenshot von dem Blockly
-
Habe nur Script, da in Blockly, bei der langen Gleichung, immer falsch gerechnet wurde.
Prinzipiell sieht es aber so aus:
![](</s><URL url=)http://up.picr.de/33291924xk.png" /> -
Ich kann kein js, aber fehlt da nicht ein ToString oder wie immer das heisst
-
Ich habe mir das in Blockly erstellt, ohne die lange Formel, dann den Code in ein neues Script kopiert und die Formel angepasst.
Mich wundert nur, dass es in den Objekten manchmal steht, aber nicht in die CCU übernommen wird, und seit neuestem in den Objekten wieder auf den alten Text zurückspringt und auch nicht übernommen wird.
In meiner Denkweise schreibe ich ja was in die Variable, die in der CCU liegt, rein. IOBroker holt sich ja nur den Inhalt der CCU Variable her und zeigt den in den Objekten.
Oder sehe ich das prinzipiell falsch?
-
Grün heisst: da kommt ein frischer Wert,
Rot heisst: der ist nicht übernommen
Anschließend merkt der Adapter, dass der Wert aus der CCU nicht in dem Objekt steht und schreibt ihn rein.
Wenn dein Wert eine Zahl ist wird sie von der ccu nicht akzeptiert.
Wenn deine Formel in blockly falsch recnet liegt es nicht an blockly sondern an der Formel
Dann müsste man da mal sehen.
Gruß Rainer
-
Also liegt das Problem an der CCU. Sie will die Daten, so wie sie sind, nicht haben. Hat die CCU vielleicht grundlegend ein Problem mit String Variablen?
Die Formel hat sau viele Klammern und das hat in Blockly nicht geklappt. Deswegen bin ich auf JS umgeschwenkt, da ich dort die Formel so eingeben konnte, wie sie tatsächlich ist. Ist aber auch gut möglich, dass ich in Blockly was falsch zusammengeklickt hatte.
Auf alle Fälle kam irgendein Ergebnis raus, das (weil eine Zahl) auch wunderbar in die CCU gewandert ist, nur der Text will nicht.
-
Das füllen einer Zeichenkettevariable funktioniert ohne Probleme.
-
on({id: 'hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE', change: "any"}, function (obj) { TempC = getState("hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE").val; ```` `
Ändere mal in change: "ne" und vereinfache die Wertübergabe an die Variable.
on({id: 'hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE', change: 'ne'}, function (obj) { TempC = obj.state.val;
if (Hitzeindex >= 27 && Hitzeindex <= 32) {
setState("hm-rega.0.8748"/Warnung Hitzeindex/, 'Text Text Text');
}
}); `
Schreib mal einen anderen Text in den Datenpunkt, wenn die Bedingung nicht erfüllt ist, z.B.if (Hitzeindex >= 27 && Hitzeindex <= 32) setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, 'Warnung !'); else setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, 'keine Warnung'); });
-
-
Mach mal eine vollständige Auswertung des Hitzeindex für die Warnungs-SV.
var warn = 'keine Hitze'; if(Hitzeindex > 27) warn = 'Vorsicht'; if(Hitzeindex > 32) warn = 'Erhöhte Vorsicht'; if(Hitzeindex > 41) warn = 'Gefahr !'; if(Hitzeindex > 54) warn = 'Hohe Gefahr !'; setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, warn); });