NEWS
Erstes Blockly Script für Briefkasten Monitoring ... aber
-
@topsurfer sagte: der DP "Briefkasten_Voll" nie auf True gesetzt wird
Laut Log muss der DP auch auf true gesetzt werden. Prüfe es mal so:
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
inen Briefkastenschalter,
Du willst, dass bei Öffnen des Briefkastens deine Hilfsvariable auf "noch nicht voll" oder auf "ist voll" gesetzt wird.
Das Skript wird ausgelöst wenn der sensor door/wndow true ist, das ist ok.
Aber deine Prüfung ob ganz voll oder nicht hast du auch als Trigger programmiert, das ist falsch, siehe auch Kommntar von @Hormoran, du musst die If Abfrage mit dem If aus dem Logikblock von Blockly bauen, nicht mit einem Trigger:
-
Danke euch erst einmal für eure Hilfe!
Hab es etwas geändert, von meiner logik ist es so richtig, aber beim:
"Falls: 'Wert' vom Objekt: Objekt-ID 'Obj-ID Briefkasten_voll' " kann ich keinen Check auf true oder false rechts hinzufügen. Ist das nicht der richtige Blockly-Teil?
Dieser Zweig wird nie durchlaufen, es wird nur der "sonst" Zweig durchlaufen.Auch zeigt das Log zwei "warnings"an, die ich nicht zuordnen kann (Infos 5:1, 24:3; das sind ja keine Zeilen oder so...)
"Du willst, dass bei Öffnen des Briefkastens deine Hilfsvariable auf "noch nicht voll" oder auf "ist voll" gesetzt wird."
Hmmm, mein "Briefkasten_Voll" ist ja ein DP, das ist doch nicht das gleiche wie eine Variable (die man ja auch definieren kann) -
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
das sind ja keine Zeilen oder so...)
doch!
stell mal die Ansicht auf javascript um, dann siehst du sie auch -
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
von meiner logik ist es so richtig,
Die Logik ist eher negiert.
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
kann ich keinen Check auf true oder false rechts hinzufügen.
dazu bedarf es noch den Logikblock mit dem Komperator.
So wie es jetzt da steht heisst es=true
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
wird nur der "sonst" Zweig durchlaufen.
dann wäre der Wert tatsächlich false
-
Das hatte ich auch schon gemacht, aber was ist 24:3 ?
Das js hat nur 18 Zeilen ...Und in zeile 5: "Remove unused declaration for Console" ?
console.info('Start'); createState('0_userdata.0.Hilfs-DP.Briefkasten_Voll', !!(!true), { type: 'boolean', read: true, write: true }, async () => { }); setState('0_userdata.0.Hilfs-DP.Briefkasten_Voll' /* 0_userdata.0.Hilfs-DP.Briefkasten_Voll */, false, true); on({ id: 'zwave2.0.Node_008.Binary_Sensor.door_window' /* Sensor state (Door/Window) */, val: true }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; console.info('Klappe betätigt'); if (getState('0_userdata.0.Hilfs-DP.Briefkasten_Voll').val) { console.info('BK war noch nicht voll'); setState('0_userdata.0.Hilfs-DP.Briefkasten_Voll' /* 0_userdata.0.Hilfs-DP.Briefkasten_Voll */, true, true); console.info('BK wird auf voll gesetzt'); } else { console.info('War schon was drin, aber nochmal was eingeworfen'); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2N....==
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
Das js hat nur 18 Zeilen ...
hast du etwa Skripte unter global?
(Expertenmodus aktivieren!) -
@homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:
dazu bedarf es noch den Logikblock mit dem Komperator.
Hmmm,
ist mein Ausgangsteil falsch? Da kann ich ja keinen Operator andocken
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
ist mein Ausgangsteil falsch? Da kann ich ja keinen Operator andocken
entweder das nicht vor den "Wert von", dann entspricht das
=false
oder noch zusätzlich einen operator Block verwenden
...=... wobei das = per pulldown geändert werden kann
diese beiden Ausdrücke
sind inhaltlich identisch -
Eher nicht, oder?
-
@homoran
Ich finde die Teile nicht, bzw. kann ich diese nicht mit "Überprüfung auf ..." ("= falsch") erweiternIst das unter "System"?
Da sehe ich:
Ich dachte Blockly wäre einfach
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
Eher nicht,
sieht so aus
leider sind die Zeiten abgeschnitten, der Fehler könnte nachher nicht weiter aufgetreten sein.
ob das mit der Declaration zu tun haben könnte weiß ich nicht, bin kein js Spezialist. -
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
Ist das unter "System"?
nein!
@homoran sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
den Logikblock mit dem Komparator.
ist ja Teil deiner Logik
-
@homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:
den Logikblock mit dem Komparator.
Hmmm,
unter "Logik" finde ich nichts, womit ich den Baustein aus deinem Bsp "bauen" kann ... müsste doch "xxxx VOM OBJEKT ID xxxx" drin sein,
was mache ich falsch, oder doch nicht unter "Logik" ?
(unter "System" gibt es halt "VOM OBJEKT ID ..." daher hatte ich das genommen) -
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
müsste doch "xxxx VOM OBJEKT ID xxxx" drin sein,
nee, das schiebst du in die erste freie Stelle
man sieht dich dass da ein Baustein im anderen sitzthabs dir doch gezeigt
und dann beide Lücken füllen.
Bausatz à la Blockly -
@homoran said in Erstes Blockly Script für Briefkasten Monitoring ... aber:
und dann beide Lücken füllen.
Danke für deine / eure Geduld, jetzt hab ich's.
Muss mal nach Grundlagenvideo zu Blockly schauen, um zu sehen, was wie wo ineinander verschachtelbar ist ...Morgen mal schauen, wie ich den Datenpunkt "Briefkasten_Voll" per vis2 zurücksetze und das entsprechende Briefkastensymbol auf "leeren Briefkasten" zurück gesetzt werden kann ....
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
was wie wo ineinander verschachtelbar ist ...
alles!
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
Morgen mal schauen,
halt mich auf dem laufenden
-
@topsurfer sagte in Erstes Blockly Script für Briefkasten Monitoring ... aber:
ich versuche gerade etwas mit Blockly "Freund" zu werden
Etwas Lesestoff: https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
-
Versuche gerade diese 3 Fehler- bzw. Warnings wegzubekommen, es sollte ja nicht "normal" sein, das man in einem (kleinen) Script die Warnings immer einfach ignoriert und beläßt.
Ursache für die zwei Warnings hintereinander ist wohl der Block mit (lösche ich diesen Block, sind diese zwei Warning weg):
"aktuallisiere 0_userdate..... mit: falsch ..."Die zwei Warnings hintereinander5:1, 23:3) erscheinen beim Script-Start,
das einzelne Warning (12:05) nur beim erstmaligen "befüllen" des Briefkastens.Aber was ist da im Script falsch, mit welchem anderen Block kann man einen DP bei Script-Start dann auf einen Startwert setzen?
(es laufen keine anderen Scripte, unter "Global" ist kein Script, und im js- Codeeditor hat dieses Script nur 17 Zeilen)
-
@topsurfer ich denke die rsten beiden Meldungen enstehen beim Scriptstart außerhalb des Triggers.
ein init Wert vonnicht wahr
kommt mir komisch vor.
Im Prinzip brauchst du den CreateState gar nicht (mehr)die dritte Meldung könnte daraus resultieren, dass
nicht wahr
geändert wirdEDIT:
Der Datenpunkt ist ja weder lesbar, noch beschreibbar angelegt!!
kein Wunder dass der sich nicht ändert