NEWS
Fhem - deprecated and will not work in next versions
-
Hallo,
habe im Log das hier stehen…
javascript.0 2017-10-20 07:41:45.810 warn at Object. (script.js.eigene.Rollo_Hoch:4:3) javascript.0 2017-10-20 07:41:45.808 warn Wrong type of fhem.0.EG_Rolladen_7.up: "boolean". Please fix, while deprecated and will not work in next versions. javascript.0 2017-10-20 07:41:45.807 warn at Object. (script.js.eigene.Rollo_Hoch:3:3) javascript.0 2017-10-20 07:41:45.804 warn Wrong type of fhem.0.EG_Rolladen_6.up: "boolean". Please fix, while deprecated and will not work in next versions. javascript.0 2017-10-20 07:41:45.793 warn at Object. (script.js.eigene.Rollo_Hoch:2:3) javascript.0 2017-10-20 07:41:45.789 warn Wrong type of fhem.0.EG_Rolladen_3.up: "boolean". Please fix, while deprecated and will not work in next versions ````. was tun ? viele Grüße Freddy MOD-Edit by eric2905; Code-Tags gesetzt
-
imho kommt das, wenn man nicht passend deklarierte Variablen nutzt. Hier offenbar was mit Boolschen Variablen.
-
ist doch nur ein Warning.. ich habe mir mal den code angeschaut.. kann ignoriert werden..
die ganze Abfrage im Code kann normalerweise raus…
ergo ignorieren
kommt übrigens nicht nur im fhem vor.. alle Adapter die mit boolen Werten arbeiten schmeissen diese Warnung
-
[quote="arteck"
kommt übrigens nicht nur im fhem vor.. alle Adapter die mit boolen Werten arbeiten schmeissen diese Warnung
Wenn das so ist dann ist da was falsch! Dann bitte Issue im Github bei dem Adapter (auch bei FHEM) aufmachen!
Dieser Fehler kommt wenn es einen Datenpunkt mit einem definierten Datentyp gibt, aber ein "falscher" Wert gesetzt wird der von nem anderen Datentyp ist. Wenn man States mit Datentpyne hat sollte man sauber konvertieren bevor man den Wert setzt.
Es gibt auch code der sich auf den gesetzten Datentyp verlässt und dann gehen ggf andere Dinge schieff
-
Hab ich jetzt was falsch gemacht ? Nö, oder ?
Habe nur den fhem-Adapter aktiviert und ein paar readings in ein Blockly übernommen…
-
alle Adapter die mit boolen Werten arbeiten schmeissen diese Warnung `
Aber doch nur wenn man versucht, einen State mit nem Wert vom falschen Typ zu füllen, oder? Ich habe die Warnung weder bei ZWave, Scenes, Tradfri, G-Homa und diversen Skripten und da werden einige booleans gesetzt. -
Hab ich jetzt was falsch gemacht ? Nö, oder ?
`
Könnte sein, dass du einen Wert nicht vernünftig konvertiest. Poste am besten mal dein Skript und nen Screenshot von den States die du einliest. -
Hmm… habe ein Blockly gemacht das als Code so aussieht:
schedule({astro: "sunset", shift: 15}, function () { setState("fhem.0.EG_Rolladen_3.down"/*EG_Rolladen_3 down*/, true); setState("fhem.0.EG_Rolladen_6.down"/*EG_Rolladen_6 down*/, true); setState("fhem.0.EG_Rolladen_7.down"/*EG_Rolladen_7 down*/, true); });
Habe mal ein printscreen eines exemplarischen states eingefügt, hoffe das ist was Du meinst..
P.S.: Kann man denn hier screenshots auch bequemer einfügen als via Upload ? ( copy/paste z.b.
3688_8.jpg -
oder das hier ?
3688_9.jpg -
Du setzt die Werte auf „true“ (also Boolean) und der Adapter mault, das es wohl der falsche Datentypen ist.
Gruß,
Eric
Von unterwegs getippert
-
Klick mal hinter z.B. fhem.0.EG_Rolladen_3.down auf den Stift, gehe zum Raw-Tab und poste was da steht.
-
das ?
3688_10.jpg -
Jap. Da steht der Typ sei ein string. Kannst du in deinem Blockly den String "true" statt wahr/true in den Datenpunkt schreiben? Dann sollte die Meldung verschwinden.
Wenn es dann noch geht, ist alles ok. Ansonsten stimmt im FHEM-Adapter was nicht beim Anlegen der Datenpunkte.
-
Hmm… verstehe ich nicht ganz.. im Blockly kann ich nur wahr/unwahr auswählen...
und im Code steht ja schon true drin....
schedule({astro: "sunset", shift: 15}, function () { setState("fhem.0.EG_Rolladen_3.down"/*EG_Rolladen_3 down*/, true); setState("fhem.0.EG_Rolladen_6.down"/*EG_Rolladen_6 down*/, true); setState("fhem.0.EG_Rolladen_7.down"/*EG_Rolladen_7 down*/, true); });
-
der fehler kommt aus dem Javascript adapter
setState("fhem.0.EG_Rolladen_3.down"/EG_Rolladen_3 down/, true);
das problem ist .. wenn ich ein Datenpunkt auf 'true' oder 'false' setzte und dieser als boolean definiert ist .
schaut euch mal den Javascript adapter an und sucht nach "Please fix, while deprecated and will not" da ist eine für mich unsinnige Abfrage drinnen…
-
Ich halte die Warnung für ok.
Denn
true
ist was anderes als````
'true'Man könnte in der BLockly-Auswahl ja zwei weitere Optionen anbieten (__'true' (String)__ und __'false' (String)__) Pix
-
schaut euch mal den Javascript adapter an und sucht nach "Please fix, while deprecated and will not" da ist eine für mich unsinnige Abfrage drinnen… `
Hab ich mir vorhin angeschaut, das macht schon Sinn. Was genau meinst du?im Blockly kann ich nur wahr/unwahr auswählen… `
Das liegt daran, dass dieser Baustein für den Wert ein Boolean setzt. Da müsste es noch einen für Strings (Texte) geben. Trage da "true" ein, dann sollte es gehen. Hab hier kein ioBroker zur Verfügung sonst würde ich nen Screenshot machen. -
das ? `
Ich bin der Meinung, dass fhem auch an der Typisierung sich halten muss und die States erkennbar deklarieren.Ansonsten in Blockly einfach Text Element nehmen und mit 'true' beschreiben.
-
also so meint ihr ?
3688_12.jpg -
Bingo!