NEWS
Erste Schritte mit Blockly
-
@williklein sagte in Erste Schritte mit Blockly:
Der Code zum Importieren so doch viel aufwendiger aus.
ja dieser wird generiert bei einem blockly, diesen kannst du kopieren und anschließend einfügen

@williklein sagte in Erste Schritte mit Blockly:
es ist unser beider Netz
gleiches Netzwerk?
https://de.wikipedia.org/wiki/IP-Adresse@williklein sagte in Erste Schritte mit Blockly:
wäre es dann möglich mein Handy als Hotspot zu nehmen und den Zugriff auf den Raspberry pi und somit auch auf den iobroker über das Handy zu machen, dann wäre ich ja auch auswärts immer in meinem WLAN
trägst du dann ne Powerbank und deinen PI mit dir herum, wenn du das Haus verlässt?:blush:
Pi ans Netzwerkkabel, wie schon erwähnt, kannst du dir eine VPN Verbindung einrichten um von unterwegs ins heimische Netzwerk zu kommen
@crunchip sagte in Erste Schritte mit Blockly:
diesen kannst du kopieren und anschließend einfügen
genauso gut kannst du auf den Button links(exportieren) daneben klicken wenn dein Script geöffnet ist .
da siehts du dann auch die vielen codezeilen -
mit einer VPN Verbindung geht es. Aber der Raspberry pi ist bei mir zur Zeit nicht mit einem Kabel verbunden, sondern per WLAN.
Aber ich meine gelesen zu haben, das es ab 20 Zugriffen Geld kostet. Ich weiss leider nicht mehr wo, ich glaube bei der VPB Installation. Stimmt das oder ist da nicht so.
@williklein sagte in Erste Schritte mit Blockly:
Aber ich meine gelesen zu haben, das es ab 20 Zugriffen Geld kostet.
da bringst du jetzt einiges durcheinander, 20 Zugriffe, du meinst die Assistent Lizenz https://iobroker.pro/www/
es gibt den kostenpflichtigen Pro Zugang, damit kannst du von ausserhalb auf deinen iobroker,was wir aber gemeint haben, du kannst z.b. in der Fritzbox(die bringt von Haus aus eine VPN Verbindung mit) nutzen, oder wie oben schon geschrieben, Wireguard oder Tailscale, damit hast du generell, Zugriff auf dein ganzes Heimnetz
-
ich kann es nicht prüfen, weil es keine 12 Uhr ist.
Aber ich bin begeistert. Ich hatte die Uhrzeit umgestellt auf 21:30 Uhr und der Thermostat ist pünktlich um die Zeit auf 20 Grad gegangen.
Ich bin begeistert Leute. Tolles Forum, tolle Hilfe. Ich hatte das so nicht erwartet, das ich hier solche Hilfe bekomme und das Ihr soviel Zeit geopfert habt.
Ich denke, ich habe es ein wenig verstanden. Mir ist noch nicht ganz klar warum man den Trigger braucht und wann man den immer einsetzen muss, aber ich denke, jetzt kann ich mich schon mal an einer Steuerung einer Steckdose versuchen.
Vielen vielen Dank an alle, die sich hier eingeklinkt haben.
Schönes Wochenende Willi Klein der Fernsehmann
@williklein sagte in Erste Schritte mit Blockly:
Ich bin begeistert Leute. Tolles Forum, tolle Hilfe. Ich hatte das so nicht erwartet, das ich hier solche Hilfe bekomme und das Ihr soviel Zeit geopfert habt.
aber du brauchtest doch Hilfe :thinking_face:
@williklein sagte in Erste Schritte mit Blockly:
Mir ist noch nicht ganz klar warum man den Trigger braucht und wann man den immer einsetzen muss
hattest du den ersten Post mitvden Grundlagen gelesen?
@homoran sagte in Erste Schritte mit Blockly:
Javascript, das auch hinter BlocklyBlockly steckt, arbeitet eventbasiert.
d.h. dass ein Skript darauf wartet, dass etwas passiert, und dann erst loslegt.
die Bausteine für die Blocklys befinden sich nach Funktonen in Gruppen auf der linken Seite.
Dieser Auslöser ist der Trigger.
Daher benötigt jedes Skript erst mal einen sinnvollen Trigger aus der Gruppe Trigger@williklein sagte in Erste Schritte mit Blockly:
Ist da der ganze Code ?
eher sogar mehr.
die Kommentarzeile enthält Informationen für die grafische Blockly Oberfläche.@williklein sagte in Erste Schritte mit Blockly:
den hätte man man ja eigentlich besser mit einem Editor schreiben können.
klar!
aber du solltest es doch leicht haben.
Deswegen hatte ich ja den js-Adapter empfohlen, weil du dich damit in js einarbeiten kannst um später mit nativem Javascript zu arbeiten.@williklein sagte in Erste Schritte mit Blockly:
Ich habe noch eine Frage.
Das sind jetzt aber ganz andere Themen.
Für so etwas immer einen separaten Thread im entsprechenden Unterforum aufmachen.@williklein sagte in Erste Schritte mit Blockly:
Der code sieht aber anders aus, wenn ich ihn exportiere ( sind mehr Zeilen) also aufgeteilt auf mehr Zeilen. Bei Blockly ist es nur 1 bzw. 2 Zeilen.
Das sind zwei verschiedene Dinge!
einmal hattest du nur die Javascript Ansicht.
Der Blockly-Export enthält alle Informationen zu den bunten Bausteinn -
Ich habe noch eine Frage. Der Growatt bei mir sieht so aus.

die 2 oberen haken sind grün beim 3.ten ist ein X und roter Hintergrund.
Er zeigt mir aber alles an, soweit ich das überblicken kann.
Kann das was damit zu tun haben, das der am Router meines Sohnes hängt. Der hat einen anderen Namen wie meiner. Aber mein Router ist per Netzwerkkabel an dem von meinem Sohn angeschlossen.@williklein said in Erste Schritte mit Blockly:
@williklein
Ich habe noch eine Frage. Der Growatt sieht in der Instanz so aus.die 2 oberen haken sind grün beim 3.ten ist ein X und roter Hintergrund.
Er zeigt mir aber alles an, soweit ich das überblicken kann.
woran kann das liegen.
-
@williklein said in Erste Schritte mit Blockly:
@williklein
Ich habe noch eine Frage. Der Growatt sieht in der Instanz so aus.die 2 oberen haken sind grün beim 3.ten ist ein X und roter Hintergrund.
Er zeigt mir aber alles an, soweit ich das überblicken kann.
woran kann das liegen.
bitte auch die Antworten lesen
@homoran sagte in Erste Schritte mit Blockly:
Das sind jetzt aber ganz andere Themen.
Für so etwas immer einen separaten Thread im entsprechenden Unterforum aufmachen. -
Auf Anlass des Threads https://forum.iobroker.net/topic/58934/einbindung-von-geräten/35 werden wir hier mal ein einfaches Beispiel in die Blockly "Programmierung" aufbauen
Hallo, könnt Ihr da noch mal drüber schauen.
Warum geht er nicht in die falls Schleife ? Schalter 1,2,3 sind falsch und Überschuss ist > 2000

-
Hallo, könnt Ihr da noch mal drüber schauen.
Warum geht er nicht in die falls Schleife ? Schalter 1,2,3 sind falsch und Überschuss ist > 2000

@williklein so ein Ausschnitt nutzt gar nichts.
z.B. ist die Frage: Triggert das Blockly überhaupt?
Außerdem haben wir keinerlei Informationen was passiert und was nicht
-
@williklein so ein Ausschnitt nutzt gar nichts.
z.B. ist die Frage: Triggert das Blockly überhaupt?
Außerdem haben wir keinerlei Informationen was passiert und was nicht
Das Blockly läuft bei mir ohne die Schalterabfrage. Ich habe dort in falls einen Debug Block und in sonst auch, daher kann ich sehen was passiert, sieh unten
Blockly geht erst garnicht nicht in die Schleife rein. Nix schleife heisst 1. Schleife ist zu Ende , dann folgt Debug Anzeige, dann Schleife 2 geht Blockly auch nicht rein.
Gleiches Blockly nur ohne die Abfrage ob Schalter 1 false ebenso 2 und 3.
Daher sehe ich den Fehler in der Abfrage wenn 1,2,3 false und Überschuss > 2000.2022-12-15 info script.js.Test: Nix Schleife 3-870.1 Schalter 1 false 2022-12-15 info script.js.Test: Nix Schleife 2-870.1 Schalter 1 false 2022-12-15 info script.js.Test: Nix Schleife 1-870.1 Schalter 1 false -
@williklein so ein Ausschnitt nutzt gar nichts.
z.B. ist die Frage: Triggert das Blockly überhaupt?
Außerdem haben wir keinerlei Informationen was passiert und was nicht
leider kann ich nur testen wenn noch Sonne,
aber ich glaube man kann nicht sagen: wenn Schalter1 und Schalter2 und Schalter3 = falsch und Überschuss >2000
Es muss heissen: Wenn Schalter1=falsch und Schalter2=falsch und Schalter3=falsch und Überschuss >2000.Ich werde es morgen testen und berichten.
-
Hallo, könnt Ihr da noch mal drüber schauen.
Warum geht er nicht in die falls Schleife ? Schalter 1,2,3 sind falsch und Überschuss ist > 2000

@williklein sagte: Warum geht er nicht in die falls Schleife ?
Weil die Abfrage auf "alle Schalter falsch" falsch ist. Richtig:

@williklein sagte in Erste Schritte mit Blockly:
Es muss heissen: Wenn Schalter1=falsch und Schalter2=falsch und Schalter3=falsch und Überschuss >2000.
Ja, so passt es auch.
-
Auf Anlass des Threads https://forum.iobroker.net/topic/58934/einbindung-von-geräten/35 werden wir hier mal ein einfaches Beispiel in die Blockly "Programmierung" aufbauen
Also ich habe jetzt festgestellt, das scheinbar folgendes nicht geht
Wenn
Schalter1 und Schalter2 und Schalter3 =falsch und Überschuss > 2000
dannIch habe es jetzt so aufgeteilt
Wenn
Schalter1= falsch und Schalter2=falsch und Schalter3=falsch
Wenn
Überschuss >2000
dann
EndeKönnt ihr das bestätigen oder müßte die erste Sache auch funktionieren
-
@williklein zeige bitte mal das komplette Blockly. So wie es geschrieben ist, sollte es funktionieren.
Sind die Schalter wirklich „false“ und der Wert über 2000?
Dazu kannst du vor dem Falls ein Debug einsetzen, welcher dir die aktuellen Werte anzeigt. -
@williklein zeige bitte mal das komplette Blockly. So wie es geschrieben ist, sollte es funktionieren.
Sind die Schalter wirklich „false“ und der Wert über 2000?
Dazu kannst du vor dem Falls ein Debug einsetzen, welcher dir die aktuellen Werte anzeigt.ich habe das komplette Blockly nicht gesendet, weil ich bei der Größe Probleme mit der Auflösung habe. #Hormoran hat mir da schon mal geschrieben, das er es nicht lesen kann bei der Auflösung.
Ich habe erst mal die Schalter weggelassen, dann funktioniert es auch so.
Wenn jemand interessiert daran ist poste ich das. Kann ich den Code nicht als Datei schicken. Dann kann man den doch importieren.
-
Also ich habe jetzt festgestellt, das scheinbar folgendes nicht geht
Wenn
Schalter1 und Schalter2 und Schalter3 =falsch und Überschuss > 2000
dannIch habe es jetzt so aufgeteilt
Wenn
Schalter1= falsch und Schalter2=falsch und Schalter3=falsch
Wenn
Überschuss >2000
dann
EndeKönnt ihr das bestätigen oder müßte die erste Sache auch funktionieren
@williklein sagte: müßte die erste Sache auch funktionieren
Nein, es sollen alle Schalter falsch sein.
Bei dem gezeigten Blockly müssen Schalter1 und Schalter2 wahr sein, Schalter3 muss falsch sein und Überschuss wird nicht ausgewertet: Klammersetzung und Prioritäten beachten! -
ich habe das komplette Blockly nicht gesendet, weil ich bei der Größe Probleme mit der Auflösung habe. #Hormoran hat mir da schon mal geschrieben, das er es nicht lesen kann bei der Auflösung.
Ich habe erst mal die Schalter weggelassen, dann funktioniert es auch so.
Wenn jemand interessiert daran ist poste ich das. Kann ich den Code nicht als Datei schicken. Dann kann man den doch importieren.
so wie Paul53 es schon gezeigt hat stimmt es. Du solltest dich nicht wunder, er hat die Logik umgekehrt von den Schaltern. Das Ergebnis ist das Gleiche. Die drei Schalter sind "oder" verknüpft, das heisst wenn alle "0" bzw "false" sind, kommt vor den "nicht" auch eine "0". Das Nicht wandelt diese um in "1". Jetzt kommt das "Und" dort muss der Wert größer 2000 sein und die 1 von den Schaltern dasein, damit dein "mache" ausgeführt wird.
-
so wie Paul53 es schon gezeigt hat stimmt es. Du solltest dich nicht wunder, er hat die Logik umgekehrt von den Schaltern. Das Ergebnis ist das Gleiche. Die drei Schalter sind "oder" verknüpft, das heisst wenn alle "0" bzw "false" sind, kommt vor den "nicht" auch eine "0". Das Nicht wandelt diese um in "1". Jetzt kommt das "Und" dort muss der Wert größer 2000 sein und die 1 von den Schaltern dasein, damit dein "mache" ausgeführt wird.
-
so wie Paul53 es schon gezeigt hat stimmt es. Du solltest dich nicht wunder, er hat die Logik umgekehrt von den Schaltern. Das Ergebnis ist das Gleiche. Die drei Schalter sind "oder" verknüpft, das heisst wenn alle "0" bzw "false" sind, kommt vor den "nicht" auch eine "0". Das Nicht wandelt diese um in "1". Jetzt kommt das "Und" dort muss der Wert größer 2000 sein und die 1 von den Schaltern dasein, damit dein "mache" ausgeführt wird.
Also die Logik verstehe ich nicht.
Meine Heizstäbe sind alle aus, wenn die Schalter "false" sind. Wenn also der Solarüberschuss > 2000 ist, soll der erste Schalter auf "wahr" schalten.
Dann trifft doch die Zeile
Wenn S1 falsch und S2 falsch und S3 falsch ist schon zu.
Wenn dann der Überschuss > 2000, dann ist doch alles richtig und es müßte mache ausgeführt werden.
Bei mache wird dann S1 auf wahr gesetzt und das Relais zieht an und schaltet den Heizstab ein. -
Also die Logik verstehe ich nicht.
Meine Heizstäbe sind alle aus, wenn die Schalter "false" sind. Wenn also der Solarüberschuss > 2000 ist, soll der erste Schalter auf "wahr" schalten.
Dann trifft doch die Zeile
Wenn S1 falsch und S2 falsch und S3 falsch ist schon zu.
Wenn dann der Überschuss > 2000, dann ist doch alles richtig und es müßte mache ausgeführt werden.
Bei mache wird dann S1 auf wahr gesetzt und das Relais zieht an und schaltet den Heizstab ein.@williklein sagte in Erste Schritte mit Blockly:
Also die Logik verstehe ich nicht.
Meine Heizstäbe sind alle aus, wenn die Schalter "false" sind. Wenn also der Solarüberschuss > 2000 ist, soll der erste Schalter auf "wahr" schalten.ich glaub wir sind hier aneinander vorbei gelaufen.
Wenn Schalter 1 bei größer 2000 einschalten soll, sieht das ganze Konstrukt anders aus. Was genau möchtest du mit dem Blockly anstellen. -
Blockly ist ein Bestandteil des Javascript Adapters.
Wenn man die Seite Skripte aufruft (ggf. nach der Installation erst im linken Menü aktivieren) fügt man über das + ein neues Skript hinzu und wählt als Typ Blockly aus.

Javascript, das auch hinter BlocklyBlockly steckt, arbeitet eventbasiert.
d.h. dass ein Skript darauf wartet, dass etwas passiert, und dann erst loslegt.die Bausteine für die Blocklys befinden sich nach Funktonen in Gruppen auf der linken Seite.
Dieser Auslöser ist der Trigger.
Daher benötigt jedes Skript erst mal einen sinnvollen Trigger aus der Gruppe Trigger
Diesen Baustein zieht man auf die Arbeitsfläche.
Den benötigten Datenpunkt bekommt man über ein Auswahlmenü, wenn man ID anklickt

Als nächstes muss die Logik erstellt werden, nach der die Aufgabe des Skripts umgesetzt werden soll.
im einfachsten Fall benötigen wir nur einen falls Baustein aus der Gruppe Logik.
Dieser muss in den Triggerbaustein gezogen werden.
Alles was sich außerhalb des Triggers befindet wird nur einmalig bei Skriptstart ausgeführt.Jetzt gibt man die Bedingung mit dem Baustein Wert von ID und einem Vergleichsoperator (<,>,=) ein...

in den falls - mache Baustein wird jetzt die gewünschte Aktion eingegeben. üblicherweise wird hier ein anderer Datenpunkt geändert.
Dies geschieht entweder mit dem steuere Block, wenn es sich um einen Adapter-DP handelt und der Adapter etwas steuern soll, oder mit dem aktualisiere Block, wenn ein Wert in einem eigenen Datenpunkt aktualisiert werden soll.
Beide Blöcke befinden sich unter System.
als fertiges Skript hat man dann

Dieses Skript kann jetzt beliebig komplex erweitwr werden.
So z.B. nur schalten wenn noch nicht angeschaltet ist oder ein zusätzliches sonst an das falls anhängen, in dem die Steckdose wieder abgestellt wird.Blockly Zeitplan Problem
Hallo, könnt Ihr mal rüber schauen, was da falsch ist Der Switch springt nur von false auf wahr, wenn ich alle Minuten anklicke. Ich möchte gerne Wochentags zu bestimmten Stunden die Pumpe ein und wieder ausschalten. Siehe Skript. Gruss Willi Klein

-
Blockly Zeitplan Problem
Hallo, könnt Ihr mal rüber schauen, was da falsch ist Der Switch springt nur von false auf wahr, wenn ich alle Minuten anklicke. Ich möchte gerne Wochentags zu bestimmten Stunden die Pumpe ein und wieder ausschalten. Siehe Skript. Gruss Willi Klein

Kurze Rückfrage. Soll die Pumpe alle x Stunden starten, also in einem Intervall? Oder zu verschiedenen Uhrzeit?
Du musst auch für das Ausschalten ein Blockly bauen mit den Ausschaltzeiten.