NEWS
Blockly lesen und verstehen
-
Hallo Forum,
ich bin ganz neu und völlig überfordert mit Blockly.
Ich hoffe, ich kann hier als neugieriger Anfänger viele Fragen stellen, auch wenn es für den ein oder anderen eventuell etwas nervig sein könnte, da bestimmt vieles schon 1000mal gefragt wurde. Ich habe mir einige Youtube Videos angesehen aber das ist mir dann schon etwas zu viel.
Ich habe mir eine RPI 4 gekauft und installiert, ioBrocker und meine Adapter installiert. Das läuft auch alles und nun möchte ich auch einen kleinen ersten Erfolg erleben, da kommt ihr nun mit ins Spiel.
Mit vis habe ich schon erste Texausgaben hinbekommen und nun möchte ich auch Werte berechnen lassen.
Wie ist nun aber Blockly zu lesen. Wie ist der Datenfluss und was bedeutet diese ganzen Einstellungen wie z.B. im Falss Objekt, egal Befehl Update usw.
Gibt es irgendwo eine gut zu lesende Erklärung auf deutsch?
Praktisches Beispiel.
Ich habe über eine Luftsensor einen Wert. Wenn ein bestimmter Wert für z.B. 5 Minuten überschritten wird, soll meine Lüftungsanlage die Lüftung auf 0 stellen.
In vis soll eine Anzeige erscheinen wie z.B. Lüftung aus durch zu hohen Schadstoffbelastung.
Ist der Wert wieder unter einem festen Wert, soll die Lüftung auf 2 gehen.
Wie würde man das in Blockly umsetzen?
Danke
Thorsten
Warum willst du überhaupt blockly lernen?
Wenn du schon eine Programmiersprache lernst (und blockly ist auch eine Programmiersprache), dann lerne für IoBroker lieber gleich JavaScript.Für Java Skript gibt es viel mehr Tutorials, praktische Beispiele und Hilfe im Internet wie für blockly.
Die Handvoll Befehle, die für IoBroker individuell sind, kannst du aus der Dokumentation heraus lesen oder dir hier im Forum helfen lassen.Wenn du die Grundstruktur von Java Skript verstanden hast, hast du dann auch gleichzeitig die Grundkenntnisse weitere Programmiersprachen eventuell in der Zukunft zu lernen.
Das ist bei blockly mE nicht der Fall. -
Warum willst du überhaupt blockly lernen?
Wenn du schon eine Programmiersprache lernst (und blockly ist auch eine Programmiersprache), dann lerne für IoBroker lieber gleich JavaScript.Für Java Skript gibt es viel mehr Tutorials, praktische Beispiele und Hilfe im Internet wie für blockly.
Die Handvoll Befehle, die für IoBroker individuell sind, kannst du aus der Dokumentation heraus lesen oder dir hier im Forum helfen lassen.Wenn du die Grundstruktur von Java Skript verstanden hast, hast du dann auch gleichzeitig die Grundkenntnisse weitere Programmiersprachen eventuell in der Zukunft zu lernen.
Das ist bei blockly mE nicht der Fall.@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 -
@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 -
@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?
-
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 ?
-
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. -
Null ist ja ein Zustand eine Zahl, wenn auch ohne Wert, im Feld steht aber nichts.
Also kann =0 nie eintreten. -
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.

