NEWS
Erste Schritte mit Blockly
-
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.
-
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

@williklein sagte in Erste Schritte mit Blockly:
Der Switch springt nur von false auf wahr, wenn ich alle Minuten anklicke.
was soll das bedeuten?
natürlich springt er nur auf wahr. Falsch kommt in dem Blockly nicht vor.
oder meinst du, dass genau dieses nur funktioniert wenn jede Minute statt des Cron eingetragen ist?
wie lange hast du gewartet? wie ist die Systemzeit/Zeitzone?Bitte immer alle Informationen selbstständig geben.
-
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

@williklein
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei :grin:

Aber wie @TT-Tom und @Homoran schon schrieben: Da wird nie etwas ausgeschaltet.
-
@williklein
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei :grin:

Aber wie @TT-Tom und @Homoran schon schrieben: Da wird nie etwas ausgeschaltet.
@codierknecht sagte in Erste Schritte mit Blockly:
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei
deswegen ja die Frage nach der Systemzeit, oder wie lange das Skript schon läuft.
-
@codierknecht sagte in Erste Schritte mit Blockly:
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei
deswegen ja die Frage nach der Systemzeit, oder wie lange das Skript schon läuft.
@homoran sagte in Erste Schritte mit Blockly:
deswegen ja die Frage nach der Systemzeit, oder wie lange das Skript schon läuft.
Die ja durchaus berechtigt ist.
@WilliKlein Ich gehe ja mal davon aus, dass Du das hoffentlich längst überprüft hast ;-)
-
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.
Ja, das ist mir klar, schaltet beides nicht.
Es ist meine Zirkulationspumpe für das warme Wasser. Ich möchte es morgens um 6 Uhr einschalten und um 8 Uhr wieder aus.
Für das Ausschalten habe ich ein anderes Blockly. Funktionieren beide so nicht.

-
Ja, das ist mir klar, schaltet beides nicht.
Es ist meine Zirkulationspumpe für das warme Wasser. Ich möchte es morgens um 6 Uhr einschalten und um 8 Uhr wieder aus.
Für das Ausschalten habe ich ein anderes Blockly. Funktionieren beide so nicht.

@williklein kommt noch was zu den anderen offenen Fragen?
-
Was verwendest du an Hardware zum Schalten und welchen Adapter?
-
Ja, das ist mir klar, schaltet beides nicht.
Es ist meine Zirkulationspumpe für das warme Wasser. Ich möchte es morgens um 6 Uhr einschalten und um 8 Uhr wieder aus.
Für das Ausschalten habe ich ein anderes Blockly. Funktionieren beide so nicht.

@williklein
Da ja noch keine Antwort zum Thema Systemzeit kam, gehen wir doch mal Schritt für Schritt vor:
Baue Dir ein neues Blockly nach meinem Muster. Einfach nur ein Debug-Block.
Den CRON stellst Du so ein, dass der Trigger nach ein paar Minuten feuern müsste.Und dann zeigst Du nach dem Start mal - wie bei mir unten - was das Log sagt.
-
@williklein
Da ja noch keine Antwort zum Thema Systemzeit kam, gehen wir doch mal Schritt für Schritt vor:
Baue Dir ein neues Blockly nach meinem Muster. Einfach nur ein Debug-Block.
Den CRON stellst Du so ein, dass der Trigger nach ein paar Minuten feuern müsste.Und dann zeigst Du nach dem Start mal - wie bei mir unten - was das Log sagt.
@codierknecht sagte in Erste Schritte mit Blockly:
Einfach nur ein Debug-Block.
und daran den Block aktuelle Zeit als hh:mm
-
@williklein kommt noch was zu den anderen offenen Fragen?
welche Fragen sind offen ??
-
Was verwendest du an Hardware zum Schalten und welchen Adapter?
Adapter ist Shelly und Hardware ist Shelly plug s
Mit der App auf dem Handy kann ich den von überall schalten und im iobroker
springt der Switch dann auch um. -
@williklein
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei :grin:

Aber wie @TT-Tom und @Homoran schon schrieben: Da wird nie etwas ausgeschaltet.
Das steht im Protokoll
Zeitdebug
Nachricht
admin.0
2023-03-03 00:49:43.485 info <== Disconnect system.user.admin from ::ffff:192.168.178.46 javascriptadmin.0
2023-03-02 23:49:43.485 info <== Disconnect system.user.admin from ::ffff:192.168.178.46 javascriptadmin.0
2023-03-02 23:48:34.129 info ==> Connected system.user.admin from ::ffff:192.168.178.46admin.0
2023-03-02 23:48:15.202 info ==> Connected system.user.admin from ::ffff:192.168.178.46admin.0
2023-03-02 23:48:13.865 info <== Disconnect system.user.admin from ::ffff:192.168.178.46 adminadmin.0
2023-03-02 23:47:59.001 info <== Disconnect system.user.admin from ::ffff:192.168.178.46 javascriptadmin.0
2023-03-02 23:47:46.415 info ==> Connected system.user.admin from ::ffff:192.168.178.46admin.0
2023-03-02 23:46:36.814 info <== Disconnect system.user.admin from ::ffff:192.168.178.46 javascriptjavascript.0
2023-03-02 23:46:29.781 info script.js.Test_1: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptionsjavascript.0
2023-03-02 23:46:29.767 info Start javascript script.js.Test_1 -
@williklein
Da ja noch keine Antwort zum Thema Systemzeit kam, gehen wir doch mal Schritt für Schritt vor:
Baue Dir ein neues Blockly nach meinem Muster. Einfach nur ein Debug-Block.
Den CRON stellst Du so ein, dass der Trigger nach ein paar Minuten feuern müsste.Und dann zeigst Du nach dem Start mal - wie bei mir unten - was das Log sagt.
Da steht unten nix drin.

-
Da steht unten nix drin.

holt sich der Iobroker nicht die Zeit vom Mac. ??
-
holt sich der Iobroker nicht die Zeit vom Mac. ??
@williklein sagte in Erste Schritte mit Blockly:
vom Mac
Eine nicht ganz unwichtige Information :-(
Dein ioBroker läuft auf 'nem Mac? 24 Stunden? 7 Tage die Woche?
In Deinem Log (das leider nicht sauber in Code-Tags gepackt wurde) sehe ich nur, dass das Script gestartet wurde.
Danach kommt leider nix mehr - es fehlt also der wichtige Teil, um zu erkennen zu welchen Zeiten der Trigger feuert. -
Adapter ist Shelly und Hardware ist Shelly plug s
Mit der App auf dem Handy kann ich den von überall schalten und im iobroker
springt der Switch dann auch um.@williklein
Zeige bitte mal die Datenpunkte vom Adapter und markiere den, welchen du nutzt. -
Da steht unten nix drin.

@williklein wenn ich das richtig erkenne hätte er erst ab 00:00 und dann 00:46. Der Cron passt noch nicht.
Starte bitte auch mal deine JavaScript Instanz neu.
-
welche Fragen sind offen ??
@williklein sagte in Erste Schritte mit Blockly:
welche Fragen sind offen ??
@homoran sagte in Erste Schritte mit Blockly:
@williklein sagte in Erste Schritte mit Blockly:
Der Switch springt nur von false auf wahr, wenn ich alle Minuten anklicke.
was soll das bedeuten?
natürlich springt er nur auf wahr. Falsch kommt in dem Blockly nicht vor.
oder meinst du, dass genau dieses nur funktioniert wenn jede Minute statt des Cron eingetragen ist?
wie lange hast du gewartet? wie ist die Systemzeit/Zeitzone?Bitte immer alle Informationen selbstständig geben.
@homoran sagte in Erste Schritte mit Blockly:
@codierknecht sagte in Erste Schritte mit Blockly:
Der CRON ist völlig OK - gerade getestet ... funzt einwandfrei
deswegen ja die Frage nach der Systemzeit, oder wie lange das Skript schon läuft.
@homoran sagte in Erste Schritte mit Blockly:
@codierknecht sagte in Erste Schritte mit Blockly:
Einfach nur ein Debug-Block.
und daran den Block aktuelle Zeit als hh:mm