Rollandensteuerung nach Lichteinfall

Begonnen von Basti-K, 01 Juni 2021, 15:00:13

Vorheriges Thema - Nächstes Thema

Basti-K

Servus.

Ich bin auf die Idee gekommen die beiden Strings der PV Anlage aus Lichtsensor zu missbrauchen.
Ost / West Anlage:
defmod di_Kuechenfenster_Sonne DOIF ([S10E:String1-Leistung] > 4000 ) (set MQTT2_shellyswitch25_8CAAB50598A3 pct 50)\
DOELSE   ([S10E:String1-Leistung] < 500) (set MQTT2_shellyswitch25_8CAAB50598A3 pct 100))
attr di_Kuechenfenster_Sonne icon weather_sun
attr di_Kuechenfenster_Sonne repeatcmd 600



Grundsätzlich Funktioniert es, aber wie realisiert man am besten eine "Dämpung" in der Regelung? weil die Rollladen fahren sehr oft rauf und runter.
cmdpause ?

Eine gefällte Entscheidung sollte doch mindestens 30  Minuten gültig sein, oder bildet am besten eine Durchschnitt auf Zeit wegen Wolken?

Otto123

#1
Hi,

ZitatGrundsätzlich Funktioniert es
Glaub ich nicht ...
Dein DOIF ist falsch! entweder DOELSE ohne Bedingung oder DOELSEIF mit Bedingung
Wozu ist repeatcmd?

Zur Dämpfung würde ich attr di_Kuechenfenster_Sonne wait 900:900 oder wait 1800:1800 machen

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Basti-K

Die Rollladen waren auf 50% als ich nach hause gekommen bin. (heute morgen remote eingetragen)

die falsche syntax wurde aber akzeptiert. vielleicht auch die Erklärung für das raus und runter...

ich probiere es mal so wie du sagst.

Otto123

ich kann es kaum glauben, es ist noch ein Fehler - zum Schluss eine Klammer zu viel.
DOELSE erwartet einfach Befehle, das können bei DOIF auch mehrere in einem Zweig in getrennten Klammern sein.
Der erste Befehl im zweiten Zweig: ([S10E:String1-Leistung] < 500) ist wahr oder auch auch nicht, da interessiert sich in Deinem Konstrukt keiner für.  :D
Bei uns schien heute den ganzen Tag die Sonne, da trat sicher bisher nur cmd_1 in Aktion :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Basti-K

Ich fürchte ich hab ein Problem mit Klammern.

dies hier wurde formal akzeptiert:

[S10E:String1-Leistung] > 3500 
(set MQTT2_shellyswitch25_8CAAB50598A3 pct 50)
DOELSEIF [S10E:String1-Leistung] < 800
(set MQTT2_shellyswitch25_8CAAB50598A3 pct 100)


aber erzeugt unten in den Readings die Meldung:
error:  condition c02: syntax error, line 1, near "800  ("

Ich bin blind, wo fehlt den was?

Otto123

Hattest Du doch oben schon richtig, bis auf die letzte zuviel?
DOIF (Bedingung) (Ausführung) DOELSEIF (Bedingung) (Ausführung)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Basti-K

die wait Geschichte hat für Irritation geführt.
ich hab noch etwas an den Schwellwerten gedreht aber grundsätzlich tuts das Konstrukt nun.

Morgen mal die Geschichte für die andere Fenster realisieren...
danke für den Denkanstoß.