NEWS
Blockly lesen und verstehen
-
@OliverIO da muss ich leider widersprechen.
Ich selber habe nicht das Problem mit logischem und strukturiertem Denken
Ich schaffe es auch bestehende javascripts nach Fehlern oder Umbaumöglichkeiten zu durchsuchen und entsprechend umzubauen.Was mir immer wieder fehlt ist die richtige Syntax am richtigen Ort.
Da kann ich zehnmal lesen und "achja" sagen. es klappt nicht.Ist wie eine Fremdsprache. Lesen ja richtig sprechen - nein. Und bei einer Programmiersprach geht kein: "der weiß ja was ich meine"
ich bin auf Blockly angewiesen da Blockly mir genau das abnimmt.
Natürlich sehe ich mir immer wider die Skripte im js-Format an, auch um Fehler zu suchen, aber schreiben werde ich es nie können - leider -
@Homoran
Du hast dich ja bereits mit beidem schon einmal auseinandergesetzt und für dich den Entschluss getroffen. Wenn jemand aber gerade frisch anfängt, dann sollte er sich dieseN Gedanken einmal stellen -
Wenn ich nur das Logikmodul ausführe geht es, mit dem Trigger nicht.
True steht nur in den Feldern wenn diese aktiv sind, wenn nicht ist das Feld leer.
-
Keiner eine Idee?
-
@TH-G
Hi, sollte eigentlich so funktionieren, denn wenn das Feld leer wird, gibts ja auch ne Änderung , ist nur komisch, beim Bool sollte eigentlich true oder false drin stehen. Was sind das denn für ein Datenpunkt Typen? Dazu rechts bei den Objekten mal auf den Bleistift klicken.
Sollte bei Art Zeichenkette stehen, ist es ein String und kein Bool, dann solltest du bei den drei falls Abfragen das "wahr" rauslöschen und dafür ein Textfeld einfügen und da true reinschreiben.
-
Das steht da:
{ "type": "state", "common": { "name": "WARMWASSERBEREITUNG", "type": "boolean", "read": true, "write": false, "unit": "", "role": "indicator.state" },
-
@TH-G
Hi, da boolean als Typ sollte eingentlich immer was drin stehen, True oder False.
Du kannst aber mal probieren, im Trigger von wurde geändert, auf wurde aktualisiert umzustellen.
Wenn das nicht hilft, eventuell auf ungleich leer abfragen, also bei den Abfragen jeweils ein leeres Textfeld rein und von gleich auf ungleich umstellen.
Sollte das auch nicht helfen,weiß ich auch erstmal nicht weiter. -
Es geht nicht. Egal was ich dort einstelle es wird nicht der Status in das Textfeld geschrieben.
Ich bin schon etwas verwundert, dass eine solche Kleinigkeit nicht funktioniert.
Ist der Adapter dann fehlerhaft oder wie geht man nun weiter vor?
Für mich als Anfänger stellt sich nun die Frage, wenn es jetzt schon solche Probleme gibt, was ist dann erst bei anspruchsvollen Aufgaben?
-
@TH-G
Nur damit wir alle vom selben reden!Du redest von den Feldern??
- EMI_Active_Comfort
- EMI_ACTIVE_HIGH
- EMI_OK
Diese Felder werden doch NICHT von deinem Skript beschrieben, oder?
- woher denn?
- was für Daten liefert die Quelle?
Die Aussage
@TH-G sagte in Blockly lesen und verstehen:
dass eine solche Kleinigkeit nicht funktioniert.
ist da schon heftig, und den js-Adapter zu beschuldigen, der diese Felder nicht beschreibt ist wirklich, gelinde gesagt, unfair.
-
Es geht aktuell nicht mehr um EMI das scheint derzeit zu laufen
Es geht um den Status der WP
Der Adapter liest das Stiebel ISG aus und liefert die Werte
Heizen
WarmwasserIn den beiden Felden steht, wenn aktiv, true sonst steht in den Feldern nichts, so wie ich es oben schon gepostet habe.
Ich möchte einfach nur, dass in vis dann ein von mir angelegter Datenpunkt mit einem Text beschrieben wird, damit ich sehen kann, in welchem Modus sich die Anlage gerade befindet.
Steht in den beiden Feldern nichts soll in dem Datenpunkt der Text -kein Betrieb- stehen, sonst Heizen oder Warmwasser.
Mehr möchte ich nicht.
-
Blockly dazu ist ?
-
So sieht es derzeit aus aber ich habe schon so viele Möglichkeiten durchgespielt
-
Das wird so nicht gehen.
Da ja in den Feldern nichts steht.
Nichts kannste ja nicht Auswerten.
Also geht ungleich wahr nicht.Oben wäre besser gewesen Heizen ungleich wahr und Warm ungleich wahr kein Betrieb.
-
Ja das hatte ich auch schon festgestellt.
Was ich noch nicht versteh ist, wie bei einem Feld das eigentlich nur zwei Zustände haben kann wie falsch und wahr noch ein dritter Zustand wie nichts oder leer hinzukommt.
Auch mit der nachfolgenden Version geht es nicht und nach dem Heizen bleibt -Heizen- im Datenpunkt stehen und wird nicht durch -kein Betrieb- überschrieben.
Schalte ich das Trigger Modul ab wird der Datenpunkt mit -kein Betrieb- überschrieben.
-
Das geht nur mit einer Krücke, würde ne Variable nehmen.
Trigger
setze Var Zähler auf Zahl 0
falls Heizen ist wahr setze Zähler auf +1
falls Warm ist wahr setze Zähler auf +1danach die Auswertung
falls der Zähler = 0 aktualisiere Status mit kein Betrieb. -
Ich möchte es aber gerne verstehen denn die Logik ist doch richtig. Ich sehe da einfach keinen Fehler.
-
Null ist ja ein Zustand eine Zahl, wenn auch ohne Wert, im Feld steht aber nichts.
Also kann =0 nie eintreten. -
und wie fragt man dann ein leeres Feld grundsätzlich ab?
Deswegen auch oben die Frage, ob das ein Fehler im Adapter ist denn bei keinen anderen Adapter den ich nutze gibt es leere Felder, da steht immer etwas drinnen ob 0 oder -
-
Dann frage den Adapter Entwickler warum das Feld leer bleibt.
Issue bei Github aufmachen..
Wie man ein leeres Feld mit Var abfragt hatte ich oben beschrieben. -
Da blockly im Hintergrund auch mit JavaScript läuft gelten auch hier die Regeln zu truthy und falsy
https://developer.mozilla.org/de/docs/Glossary/Falsy
https://developer.mozilla.org/de/docs/Glossary/TruthyDeswegen ist null und undefined ebenfalls false