NEWS
Unterschied "steuere Objekt" und "aktualisiere Objekt"
-
Ich koennte das ausprobieren, aber wie kann ich ".MeineGeraete" umbenennen? `
Die Datenpunkte müssen wohl neu erstellt werden.
@skraw.iobroker:Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen … `
Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit getIdByName('name'). -
Ansonsten muesste ich hunderte Referenzen in Skripten neu setzen …
Deshalb verwende ich eindeutige Namen und ermittle im Script die ID mit __getIdByName('name')__.
Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht.
-
Ich hab mir das jetzt nochmal unter diesem Aspekt angesehen.
Die Skripte referenzieren alle mit kompletter Objekt-ID (copy-paste aus der Script-Ansicht funktioniert leider nicht, sonst haett ichs zitiert). Ich frage mich schon welcher der Werte tatsaechlich stimmt, es koennte ja auch sein, dass die Darstellung im Web ein Problem hat…
-
Hier habe ich ein starkes Indiz dafuer, dass die Darstellung im Web des Objekt-Wertes ein Problem hat.
In meinem Screenshot vom 24.03 ca 11:42 Uhr sieht man dass "Zone_EG_" auf 100 steht.
Aber im Logfile dieses Tages steht folgendes:
2018-03-24 06:24:06.017 - info: javascript.0 script.js.Skript-Melder: EG Licht an 2018-03-24 06:26:02.922 - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus 2018-03-24 06:31:08.848 - info: javascript.0 script.js.Skript-Melder: EG Licht an 2018-03-24 06:33:53.023 - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus 2018-03-24 17:58:04.005 - info: javascript.0 script.js.Skript-Melder: EG Licht an 2018-03-24 18:00:30.410 - info: javascript.0 script.js.Skript-Timeouts: EG Licht aus
Man sieht das Skript schaltet das Licht um 06:33:53 Uhr aus. Das bedeutet es hat den Wert des obigen Objektes auf 0 heruntergezaehlt. Er muss also zu diesem Zeitpunkt "0" sein. Der im Web angezeigte Wert ist falsch.
Da sollte man die Ursache suchen.
Nachtrag: man kann die Korrektheit des "Herunterzaehlens" des Skripts auch daran sehen, dass mein Timeout bei 120 liegt und zwischen dem "Licht an" und dem "Licht aus" pi mal Daumen etwa 2 Minuten liegen was dem Timeout entspricht. Ganz genau darf man es bei JS scheinbar nicht nehmen mit Zeitintervallen
-
Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht. `
In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen). -
Tja, wie oben bewiesen ist aber Blockly technisch korrekt und die Weboberflaeche im Irrtum.
-
Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an?
-
Wie legt man denn eigentlich ein neues Verzeichnis von Objekten an? `
Im Browser die Seite neu laden, damit nichts selektiert ist und dann https://forum.iobroker.net/viewtopic.php?f=20&t=5381#p54567. -
Danke fuer den Link, aber er zeigt echt nur eins: jeder hat damit Probleme. Die Konstruktion ist einfach nicht straight-forward. Wenn man sowas selbst anlegt fuer eigene Variablen ist es ziemlich undurchsichtig ob das "Verzeichnis" wo man sie reinlegt vom Typ her ein "Device" oder ein "Channel" ist und was ueberhaupt der Unterschied hinterher waere, wenn es den ueberhaupt gibt.
-
Wo ist diese Funktion im Blockly ? Ich kann da nichts finden das sowas macht.
In Blockly existiert diese Funktion nicht, da in Blockly die ID per "Select ID" direkt zugeordnet wird. Blockly ist halt nur eine Einstiegshilfe für Leute, die vorher noch nicht programmiert haben (außer vlt. mit graphischen Programmieroberflächen).
Also wenn man sich erst mal mit Blockly angefreundet hat geht eigentlich alles damit recht schnell. Es ist ja nun nicht gerade so dass man fuer Smarthome Anwendungen besonders komplexe Programme brauchen wuerde.
Ich waere jedoch dafuer dass man die Zugriffe auf die Objekte auch bei Blockly auf den Namen zurueckfuehren wuerde, denn der steht schliesslich auch in den Ausdruecken drin, auch wenn man in der Tat die ID ausgewaehlt hat. Ich denke es waere kein echtes Problem hier zwei jeweils Statements draus zu machen. Noch besser waere natuerlich ein Einsteller im jeweiligen zugreifenden Statement. Dann haette es der User in der Hand.
-
Mittlerweile hat sich etwas veraendert mit den Web-Ansichten meiner Objekte. Die version 3.3.5 vom admin-Interface scheint die Updates der Objekte jetzt richtig anzuzeigen. Ich hatte seit der Installation von 3.3.5 keinen Fall mehr wo die Web-Werte offensichtlich anders waren als die die die Skripte gesehen haben. Bei 3.3.3 schien das Problem dagegen noch da zu sein.