NEWS
Einfaches Script wird nicht ausgeführt
-
@miwi
Und du kannst auch zu bestimmten Zeitpunkten schauen, ob ein Status gegeben ist.
Dafür werden dann Zeitpläne eingesetzt. -
@miwi sagte: Hoffe, dass das so läuft.
Nicht "aktualisiere" sondern "steuere" verwenden!
-
-
@miwi sagte: Was ist denn, wenn der Wert sich den ganzen Tag nicht ändert, aber so hoch ist, dass das Script ausgeführt werden soll?
Dann verwende eine Funktion, die auch bei Skriptstart aufgerufen wird.
Allerdings sollte besser eine Hysterese verwendet eingebaut werden, damit nicht im Grenzbereich ständig ein- und ausgeschaltet wird.
-
Hab das Script gerade nachgebaut. Melde mich morgen Nachmittag und berichte ob es läuft.
Vielen lieben Dank für die Hilfe,
miwi
-
@paul53
Funktioniert perfekt.Vielen Lieben Dank nochmal für die Hilfe.
Frage zum Verständnis: Warum wird im Skript mit internen Variablen gearbeitet und nicht direkt mit den Datenpunkten der Geräte?
Gruß
miwi
-
@miwi sagte: Warum wird im Skript mit internen Variablen gearbeitet und nicht direkt mit den Datenpunkten
Wenn im Skript ein Wert mehr als einmal verwendet wird, ist der Gebrauch von Variablen effizienter.
-
Das Skript läuft jetzt seit ein paar Tagen problemlos, jedoch habe ich 2 Dinge die ich verbessern möchte.
-
Der Trigger PV-Leistung ist die aktuelle Leistung welche die Photovoltaikanlage erzeut. Dieser Wert ändert sich alle paar Sekunden. Somit wird das Skript andauern ausgeführt. Mir würde es reichen, wenn alle 10 Minuten das Skript ausgeführt wird. Der Trigger Humidity ist leider zu träge. Dieser verändert sich bei ausgeschalteter Entfeuchtung (was vor erstem Betrieb am Morgen der Fall ist) so gut wie gar nicht.
Sind die beiden "Falls Objekt"-Triggerobjekte "UND" oder "ODER" ?
Wie kann ich anstelle eines PV-Leistungstriggers eine Zeitgesteuerte Auslösung alle 10 Minuten zwischen 10 und 18 Uhr realisieren? -
Es kann vorkommen, dass an Tagen an denen nicht ausreichen Strom von der PV Anlage kommt trotzdem der Entfeuchter (steht im Hauswirtschaftsraum wo auch Wäsche getrocknet wird) laufen soll.
Hierzu drücken wir am Homematic Zwischenstecker in der Steckdose im Hauswirtschaftraum den AN/AUS Knopf.
Da das Skript aber feststellt, dass die PV Anlage keine ausreichende Strommenge produziert schaltet das Skript den händisch auf AN gestellten Entfeuchter sofort wieder aus.
Kann man über das physische Drücken des Schalters am Zwischenstecker auf AN das Skript solange stoppen bis a) der Schalter am Zwischenstecker physisch auf AUS gestellt wird oder b) es nach 18 Uhr ist und das Skript für den nächsten Tag wieder aktiv ist.
Langsam wird aus "Einfaches Skript" das ganze etwas komplexer.
Schöne Ostern,
miwi
-
-
@miwi sagte: Kann man über das physische Drücken des Schalters am Zwischenstecker auf AN das Skript solange stoppen bis a) der Schalter am Zwischenstecker physisch auf AUS gestellt wird
@miwi sagte in Einfaches Script wird nicht ausgeführt:
Der Trigger Humidity ist leider zu träge. Dieser verändert sich bei ausgeschalteter Entfeuchtung (was vor erstem Betrieb am Morgen der Fall ist) so gut wie gar nicht.
Das muss er auch nicht, denn das ist die Zielgröße. Oder ist der Sensor im Entfeuchter verbaut und braucht den Lüfter, um aktuelle Werte zu erfassen?
-
@miwi sagte: an Tagen an denen nicht ausreichen Strom von der PV Anlage kommt trotzdem der Entfeuchter (steht im Hauswirtschaftsraum wo auch Wäsche getrocknet wird) laufen soll.
Diese Version überbrückt nur die PV-Auswertung bei manuellem Einschalten, lässt aber die Feuchte-Regelung in Betrieb:
-
@paul53 said in Einfaches Script wird nicht ausgeführt:
Oder ist der Sensor im Entfeuchter verbaut und braucht den Lüfter, um aktuelle Werte zu erfassen?
Der Luftfeuchtesensor ist ein separates Homematicgerät. Somit werden die Werte unabhängig vom Zustand des Entfeuchters aufgezeichnet.
Was ist denn system.adapter.javascript ?
Gruss
miwi
-
@miwi sagte: Was ist denn system.adapter.javascript ?
"system.adapter.javascript.0" ist die Quelle der Wertänderung, wenn sie vom Skript verursacht wird (Block "steuere").
-
@paul53
Stehe gerade etwas auf dem Schlauch.
"manuelEin" ist eine Variable innerhalb des Blockly´s. Wie verknüpfe ich diese mit dem physischen AN/AUS-Taster am Zwischenstecker?
Muss ich da einen weiteren Block erstellen, der die Variable mit dem Zustand des Zwischensteckers versorgt? Dies ist aber ja auch nur der aktuelle Status und kein Beleg dafür ob der Zwischenstecker manuell betätigt wurde oder durch das Skript.system.adapter.javascript.0 ist im Beispiel als Textblock angelegt. Ist das so richtig?
Danke und schöne Ostern,
miwi
-
@miwi sagte: Wie verknüpfe ich diese mit dem physischen AN/AUS-Taster am Zwischenstecker?
Da vermutlich der Taster keinen eigenen Datenpunkt hat, den man abfragen kann, wird der Aktor geprüft. Wenn der einschaltet und die Ursache dafür ist nicht das Skript (Ursprung != "system.adapter.javascript.0"), wird die Variable auf true gesetzt. Beim Ausschalten wird sie wieder auf false gesetzt.
@miwi sagte in Einfaches Script wird nicht ausgeführt:
system.adapter.javascript.0 ist im Beispiel als Textblock angelegt. Ist das so richtig?
Ja.
-
@paul53
Habe jetzt 2 Tage getestet.
Manuel ein lässt den Entfeuchter unabhängig von Strommenge und Feuchtigkeit an.
Jedoch wird der Entfeuchter um 18 Uhr nicht ausgeschaltet.Soll ich zum Zeitplan um 18:00 Uhr noch ein "setze entfeuchtenHWR auf falsch" hinzufügen?
Gruß
miwi
-
Aber eigentlich müsste sich doch der State ändern, sieht man die Leistung bei einer manuellen Übersteuerung?
-
@miwi sagte: Jedoch wird der Entfeuchter um 18 Uhr nicht ausgeschaltet.
Du hast die Trigger-Zeiten so begrenzt, dass der letzte Trigger um 17:50 Uhr erfolgt. Dann genügt es nicht, nur die Variable um 18:00 Uhr zurück zu setzen, sondern es muss auch der Entfeuchter ausgeschaltet werden.