Mahlzeit
ich habe meine Rollläden am Balkon mit zwei Shelly 2.5 und dem ShellyModul smart gemacht.
Ich schalte am Abend am Tablet mit einem "allesAUS" Schalter selbst alles aus (Raumbeleuchtung, Deko usw.)
Jetzt möchte ich auch wenn draußen die Temperatur unter einem bestimmten Wert liegt auch die Rollläden runterfahren
Bisher alles kein Problem - ist mit einem DOIF gelöst.
Jetzt zum Testen habe ich im DOIF in der Früh zum Öffnen ein Sunrise eingebaut.
Nur es wird, wenn die Rollläden mal nicht unten sind natürlich auch bei Sunrise der "Öffnen" Befehl an die Dinger gesendet.
Jetzt wollte ich einen FILTER dafür anwenden.
Ich sehe aber nur in den Readings "pct" ob 0% oder 100%. Wenn die auf 100% stehen (offen) dann brauche ich keinen Schaltbefehl zu senden
Ich verstehe wenn ich auf ein State on:off einen Filter setzte (set room=kitchen:FILTER=STATE=on off)
Wie kann ich das in meinem Fall lösen? Geht das überhaupt?
Anbei ein List vom Device
Internals:
CFGFN
DEF 10.0.0.123
DURATION 0
FUUID 63566f05-f33f-ee2d-c824-03b61f18dae55236
INTERVAL 1
MOVING moving_up
NAME Balkon_links
NR 87319
SHELLYID shellyswitch25-E098068D550B
STATE Richtung: moving_up Zustand: closed
TARGETPCT 100
TCPIP 10.0.0.123
TYPE Shelly
eventCount 11744
READINGS:
2022-10-24 12:55:01 cloud disabled
2022-10-24 13:00:11 config mode=roller [channel s]
2022-10-26 13:58:40 energy_0 30.2
2022-10-24 12:55:01 firmware v1.12
2022-10-26 14:05:30 inttemp 57.06
2022-10-26 14:04:38 last_dir down
2022-10-24 12:55:01 network <html>connected to <a href="http://10.0.0.123">10.0.0.123</a></html>
2022-10-26 14:05:13 pct 0
2022-10-26 14:05:13 position closed
2022-10-26 14:05:33 power 129.9
2022-10-26 13:58:40 power_0 0
2022-10-26 14:05:13 state moving_up
2022-10-24 13:00:31 stop_reason normal
Attributes:
appOptions { "dashboard": true, "template": "shutter5" }
cmdIcon open:fts_shutter_up closed:fts_shutter_down
genericDeviceType blind
interval 1
mode roller
model shelly2.5
room Balkon,Homekit
stateFormat Richtung: state Zustand: position
webCmd closed:open
und mein DOIF
defmod di_Rollladen_auto DOIF ((([20:00-23:55]) and [du_AllesAus] eq "off" and [BalkonTemp:temperature] < 15)) (set Balkon_links closed, set Balkon_rechts closed) DOELSEIF ([{sunrise_abs("CIVIL",0,"6:00","09:00")}]) (set Balkon_links open, set Balkon_rechts open)
attr di_Rollladen_auto room Balkon,Steuerung
setstate di_Rollladen_auto initialized
setstate di_Rollladen_auto 2022-10-26 14:11:20 Device BalkonTemp
setstate di_Rollladen_auto 2022-10-26 13:03:29 cmd 0
setstate di_Rollladen_auto 2022-10-26 14:11:20 e_BalkonTemp_temperature 13.3
setstate di_Rollladen_auto 2022-10-26 13:03:29 mode enabled
setstate di_Rollladen_auto 2022-10-26 13:03:29 state initialized
setstate di_Rollladen_auto 2022-10-26 13:03:29 timer_01_c01 26.10.2022 20:00:00
setstate di_Rollladen_auto 2022-10-26 13:03:29 timer_02_c01 26.10.2022 23:55:00
setstate di_Rollladen_auto 2022-10-26 13:03:29 timer_03_c02 27.10.2022 06:58:24
danke für eure Hilfe
Helmut
FILTER=pct!=100
funktioniert nicht?
Servus
meinst du das so??
((([17:00-23:55]) and [du_AllesAus] eq "off" and [BalkonTemp:temperature] < 15)) (set Balkon_rechts closed) DOELSEIF ([{sunrise_abs("CIVIL",0,"6:00","09:00")}]) (set Balkon_links:FILTER=pct!=100, set Balkon_rechts open)
Ich bekomm das nicht hin, wo ist da der Einschaltbefehl?
Sorry - steh da wirklich auf der Leitung?
Danke für deine Mühe und Geduld
Helmut
Hier nach https://fhem.de/commandref_DE.html#devspec wird die Geräteliste zusätzlich durch den Filter geschickt, der Befehl bleibt gleich.
Ausgehend von
set <Geräte_Liste> open
Zuerst musst du deine Geräte_Liste spezifizieren und dann den Filter setzen.
Wenn deine Shellys mit Balkon_ anfangen, dann würdest du setzen:
set Balkon_.* open
und mit Filter eben nur noch die aus der Liste herausfiltern, die pct nicht gleich 100 haben:
set Balkon_.*:FILTER=pct!=100 open
Edit: Das funktioniert natürlich auch für genau ein Device:
set Balkon_links:FILTER=pct!=100 open
Hallo Damian,
herzlichen ank für deine super Erklärung.
Natürlich auch Dank an betateilchen
Dann war ich ja eh auf dem richtigen Weg,
nur hab ich halt den Befehl "open" vergessen.
schönen Tag noch
Helmut