NEWS
Blockly Script nur von 10-20 Uhr ausführen ?
-
@berndsolar13
Ich habe das so gelöst:Es gibt einen zusätzlichen Datenpunkt in dem Festgelegt wird ob das Schalten (also das was das Skript machen soll) erlaubt ist oder nicht.
True
bzw.Wahr
- es ist erlaubt, und beiFalse
bzw.Falsch
eben nicht.In diesem Beispiel also
0_userdata.0.Tuya.DryFy-Badezimmer.SteuerungAktiv
Das Skript springt zwar bei jeder Feuchtigkeitsänderung an, macht aber nur etwas wenn der0_userdata.0.Tuya.DryFy-Badezimmer.SteuerungAktiv
Wahr ist.So, jetzt muss man natürlich diesen Datenpunkt Morgens um 10:00 Uhr auf True setzen und Abends um 20 Uhr wieder auf False.
Das könnten 2 weitere Blöcke sein mit Zeitsteuerung:
zum Beispiel für das Einschalten.Ich mache das über die VIS. Dazu habe ich den "Zeitschaltuhr" Adapter (aka "time-switch") installiert und habe so einen Zeitplan in der VIS der diesen Datenpunkt ansteuert:
Der Mittlere ist es, Luftentfeuchter Nachtruhe
Ich habe wie du siehst noch mehr Bedingungen. Links schaltet den Zwangsweise an, dann ist auch gleich schön warm im bad, rechts schaltet die Steckdose des Luftentfeuchters, der läuft besser wenn man den ab und zu neu bootet (ich habe einen Tuya-Kombatiblen und steuere den Entfeuchter direkt)
-
danke, hab wie gesagt keinen Plan von Blockly
@djmarc75 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:
ob Du das zeigen magst ?
ist wie gesagt mein 1. Versuch
Wo genau müsste ich den Baustein hin setzen ?
Den durchschnitt des Bezuges brauch er ja auch nicht ausßerhalb der Zeiten berechnenHinweis der Sendebefehl ans Tasmota Display "Displaytext" war quasi nur ein Debug, damit ich direkt sehe das es funktioniert.
-
gleich noch eine 2. Frage für die Zukunft
Gibt es eine einfache Möglichkeit, das Blockly Script hier zu zeigen ?Aktuell hab ich 2 Screnshots gemacht, da es nicht auf einen Bildschirm passte.
Die dann mit dem Zeichen Programm wieder zusammen gebaut, und dann hier hoch geladen. -
@berndsolar13 sagte: Wo genau müsste ich den Baustein hin setzen ?
Da du einen 10-s-Zeitplan verwendest, kann die Einschränkung im Zeitplan (CRON) gemacht werden:
Der Trigger auf "durchschnitt_zahler" ist unnötig, wenn man den Durchschnitt in einer Variablen speichert.
Nimmt der Entfeuchter weniger als 200 W Leistung auf? Die Hysterese beträgt nur 200 W.
-
@paul53 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:
Da du einen 10-s-Zeitplan verwendest, kann die Einschränkung im Zeitplan (CRON) gemacht werden:
klingt logisch, hätte ich auch selbst drauf kommen können, verwende ja auch Cronjobs auf dem Linux Mini PC
Ich kann das aber irgendwie nicht eingeben, das feld wo die Sterne drin stehen ist grau hinterlegt.
Wie bekomme ich da deinen Code rein.Wegen dem 2. Code, kann es sein, das er dann permanent wenn die Bedingung erfüllt ist, den Befehl sendet für schalte ein ? Deswegen hatte ich die "und" Bedingung mit rein gemacht, das er nur sendet, wenn der Status aktuell "anders" ist.
@paul53 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:
Nimmt der Entfeuchter weniger als 200 W Leistung auf? Die Hysterese beträgt nur 200 W.
jupp sind 180 Watt, eigentlich sollte da auch 200 stehen, kein Plan wieso 150 dort steht
-
@berndsolar13 sagte: das er dann permanent wenn die Bedingung erfüllt ist, den Befehl sendet für schalte ein ?
Nein, das verhindert der Vergleich
entfeuchten
!= Wert von Entfeuchter.@berndsolar13 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:
Wie bekomme ich da deinen Code rein.
-
danke das mit dem Cron hat geklappt, den Rest werde ich jetzt mal nachbauen
dein Code ist etwas aufgeräumter, und den Wert in der Variable speichern ist auch besser.danke auch an alle anderen für ihr input
-
ich hab dein Script nun gebaut, hab weil ja keine Sonne mehr scheint, die Schaltbereiche auf <200 an und >400 Watt auf Aus gestellt.
Aber es tut sich nix,
Wie kann mich mir den Inhalt der Variablen irgendwie anzeigen lassen, um zu sehen das die überhaupt mit dem "richten" Wert befüllt wurden ? -
@berndsolar13 sagte in Blockly Script nur von 10-20 Uhr ausführen ?:
Wie kann mich mir den Inhalt der Variablen irgendwie anzeigen lassen, um zu sehen das die überhaupt mit dem "richten" Wert befüllt wurden ?
mit einem debug-Baustein
-
Mit Entfeuchten am Debug
javascript.0 (366719) script.js.200_Watt_Schaltscript: setForeignState(id=0_userdata.0.Live_Verbrauch.durchschnitt_zahler, state={"val":236.8,"ack":true,"ts":1698084310005,"q":0,"from":"system.adapter.javascript.0","lc":1698084310005,"c":"script.js.200_Watt_Schaltscript"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Mit Durchschnitt am Debug
javascript.0 (366719) script.js.200_Watt_Schaltscript: setForeignState(id=0_userdata.0.Live_Verbrauch.durchschnitt_zahler, state={"val":237.5,"ack":true,"ts":1698084340005,"q":0,"from":"system.adapter.javascript.0","lc":1698084340005,"c":"script.js.200_Watt_Schaltscript"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
irgendwie ist der Debug Output immer gleich, egal welchen Baustein ich hinten anhänge ?
-
@berndsolar13 sagte: Debug Output immer gleich
Die Debug-Blöcke müssen innerhalb des Triggers platziert werden. Schalte den Debug-Modus rechts oben aus, da die Datenpunkte im Debug-Modus nicht geschrieben werden.
EDIT: Beispiel:
-
danke, wie ich es mir dachte
javascript.0 (366719) script.js.200_Watt_Schaltscript: Wert für Durchschnitt: undefined
-
Fehler gefunden läuft nun