NEWS
Wie Blockly besser organisieren, schreibt mir Protokoll voll
-
Da wäre mein nächsten Verständnis-Problem, wo muss ich wenn dann welchen Datenpunkt wie händisch erzeugen? Das habe ich irgendwie noch nicht wirklich verstanden.
-
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Zum Thema Datenpunkt schreiben, da bin ich leider nicht wirklich mit zurecht gekommen.
Mein Gedanke war, ich packe vor dem Trigger ein "Datenpunkt erzeugen" mit einem NULL-Wert, aktualisiere Ihn wenn ich die Pumpe einschalte oder ausschalte. Das hat aber leider nicht funktioniert.Warum nutzt du nicht einfach den DP der Pumpe ?
Diese Variante logged nebenbei auch wenn die Pumpe wegen des Zeitplans geschaltet wird.
Nebenbei hast du da noch ein
in deinem Skript. Das wird denke ich so nicht gehen.
Woher kommt dieses Objekt Schalter ?Edit: Jetzt ist mir klar was du damit wolltest - so geht das aber nicht. Wenn du den Wert eines DP abfragen willst, dann geht das nicht via dem Objekt Baustein, sondern via
Nur das du das in meinem Beispiel nicht brauchst - die Variable StatusPumpe merkt sich wie die Pumpe geschaltet ist - wird durch den trigger auf die Pumpe aktualisiert und wird benutzt um sicher zu stellen das die Pumpe nur angesteuert wird wenn sie auch angesteuert werden soll
A.
-
@asgothian sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Warum nutzt du nicht einfach den DP der Pumpe ?
das hatte ich ihm ja empfohlen, aber er wollte es noch einfacher haben.
-
@homoran sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
@asgothian sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Warum nutzt du nicht einfach den DP der Pumpe ?
das hatte ich ihm ja empfohlen, aber er wollte es noch einfacher haben.
ich vermute er hatte dich einfach nicht verstanden. Wobei - wenn er PHP nutzt sollte er eigentlich seine Skripte in JS machen - nicht Blockly
A.
-
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
wo muss ich wenn dann welchen Datenpunkt wie händisch erzeugen?
Offensichtlich hast Du noch gar keinen DP unterhalb von
0_userdata.0
angelegt.Du kannst in Deinem Beispiel dort "XYZ-Zustand erstellen" verwenden. Halt mit dem passenden Typen ... je nach Bedarf.
Oder Du wählst (wie in Deinem Beispiel) den Eltern-Knoten und klickst oben auf das "+".Ich persönlich würde die Trigger nicht mit dem Wizard erstellen, sondern einen CRON hinterlegen. Die funktionieren nach meiner Erfahrung stabiler und lassen sich in Screenshots besser lesen.
Lesestoff: https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
-
Hey Leute,
sorry, aber ich bin komplett neu im Blockly, also habt bitte etwas Verständnis, wenn ich nicht immer gleich alles so umsetze, wie ihr das vorschlagt. Ich versuch meine eigenen Wege zugehen und aus meinen eigenen Fehler auch zu lernen.
Es ist schön das ihr helft. aber leider sind mir noch nicht alle Funktionen und Möglichkeiten von Blockly klar verständlich, so das ich eben auch mal Probiere um zu eine anderen Lösung zu kommen.@Asgothian
Mit Status der Pumpe, meinst du diesen Datenpunkt:
-
@asgothian sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
ich vermute er hatte dich einfach nicht verstanden. Wobei - wenn er PHP nutzt sollte er eigentlich seine Skripte in JS machen - nicht Blockly
Dazu müsste man JS scripten können und alles ausserhalb von PHP, tu ich mich leider etwas schwer.
-
@asgothian sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Ich würde das ja versuchen nachzubauen, doch irgendwie finde ich nicht die passenden Elemete für das ["to PumpeSchalten" with: Ziel] -
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
leider sind mir noch nicht alle Funktionen und Möglichkeiten von Blockly klar verständlich,
kennst du
https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tippsAnsonsten machst du es schon richtig:
Versuchen, zeigen und fragen, Hilfe bekommen -
@wotan2005
@Asgothian hat da schon Variablen und Funktionen verwendet, da er anscheinend von erhöhten Programmierkenntnissen bei dir ausgeht.für kleine Schritte mach doch einfach was ich schrieb
@homoran sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
einfach bei falls und sonst falls noch
...und Schalter != wahr/falsch
hinzufügen -
@wotan2005
Vorschlag: -
@paul53
wo finde ich [setze "Ventil00" auf]
-
@wotan2005 sagte: wo finde ich [setze "Ventil00" auf]
Du musst erst die Variable Ventil00 erstellen.
-
Kurze Erklärungen zu den benutzen Werten, Schalter, Voltmeter und Shelly's
- Der Füllstand kommt vom Shelly Uni Plus mit Drucksensor (Voltmeter100->Voltage)
- Die Regenwassertauchpumpe wird über ein Shelly 1PM geschaltet (Relay0->Switch)
- Die Hunterventile [01-09] werden durch je ein Shelly Plus1 geschaltet (Relay0->Switch), setzt eingeschaltete Regenwassertauchpumpe voraus
- Das Hunterventil [00] setzt den Shelly Uni Plus mit Drucksensor voraus
- Das Zysterne entwässern setzt den Shelly Uni Plus mit Drucksensor voraus, sowie das einschalten der Regenwassertauchpumpe und das Hunterventil [01]
@Homoran
Wenn ich jetzt beim Befüllen der Zysterne auf den Shelly 1PM Switch Status schauen, dann komme ich mir mit der Bewässerung ins Gehege, den dort schalte ich ja die Regenwassertauchpumpe bewusst ein, um die Hunterventile [01-09] nacheinander zu versorgen. Damit überschneiden sich die beiden und er würde mir die Regenwassertauchpumpe am Shelly 1PM wieder ausschalten und damit die Bewässeerung beenden. -
@wotan2005
Äääähmmm
Davon war bisher nicht die Rede und wäre incl. der unnötigen Schaltvorgänge und debug Ausgaben dann wohl auch immer so gewesen.
Und nur um das zumüllen des logs ging es bisher!Den Rest, mit dem du jetzt kommst, hab ich deshalb nicht geprüft
-
@wotan2005 Das ist ein klassischer Fall von
Das Problem nicht sauber beschrieben, deswegen keine saubere Lösung bekommen.
Und nochmal die Frage - du kannst PHP (zumindest schriebst du so was da) :
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
In PHP würde ich mir einfach eine Variable declarieren und auf diese Prüfen, aber das mit einem Datenpunktschreiben funktioniert irgendwie nicht ganz so, wie ich mir das gedacht habe.
Also warum krebst du mit Blockly rum ?
Nutz doch einfach JS - schau Dir die ioBroker relevanten Funktionsaufrufe an (hier), und programmier es so wie du es auch in PHP tun würdest ? Die Syntax unterschiede zwischen JS und PHP sind begrenzt. Wichtig sind nur die ioBroker aufrufe, die hab ich oben verlinkt.
A.
Nachtrag: Ja, du musst da etwas lesen . Aber damit kannst du dann die Logik wie du sie in PHP umsetzen würdest direkt nutzen.
A -
Großes Sorry für die Verwirrung dafür.
Deshalb ja auch nun die ausführliche Erklärungen, wieso ich oben schrieb:@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Ich habe mehrere Blockly's die sehr ähnlich sind und auch die selben Schalter benötigen. Gibt es da noch eine andere Lösungen?
Damit man das vielleicht im Detail auch besser versteht, und mir dabei helfen kann, an den richtigen Schrauben zudrehen.
-
@wotan2005 Das ist ganz was anderes, da steht nichts von konkurrierenden Aufgaben!
Deswegen immer alles zeigen!!!
und keine NacherzählungenAber das Thema hatten wir ja alles schon in anderen Threads bei dir
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Damit man das vielleicht im Detail auch besser versteht, und mir dabei helfen kann, an den richtigen Schrauben zudrehen.
Kleines Geheimnis am Rande - hier lesen einige der Entwickler mit. JS Funktionen werden da durchaus auch analysiert - wenn sie nicht ellenlang sind. Du wirst also für JS etwa so viel Hilfe bekommen wie für Blockly.
Blockly ist schön für den schnellen einstieg - aber komplex wenn es um aufwändigere Lösungen geht.
A.
-
Aber dafür muss man JS auch schreiben und verstehen können, nicht umsonst benutze ich Blockly.