Nun bin ich schon einige Jahre hier im Forum unterwegs und habe erfolgreich einige Devices in mein System integriert, scheitere aber seit ein paar Tagen an einer scheinbar einfachen Aufgabenstellung. Offenbar stehe ich dabei auf dem Schlauch und brauche Hilfe:
Mein ursprünglicher Algorithmus ist um einiges komplexer, deshalb habe ich das Problem auf das offenbare Kernproblem reduziert und stelle es hier zur Diskussion:
Ich möchte einen an eine Shelly SmartPlugS-Steckdose angeschlossenen Lüfter mit folgender Befehlsfolge einschalten:
define PVLuefterON at +*00:02 {if (Value("LeistungsmesserShellyPlugS") eq "off") {fhem ("set LeistungsmesserShellyPlugS on")}}
Über die Shelly-App und FHEM-Web klappt das Einschalten manuell einwandfrei, jedoch nicht über die o.g. Logik.
Zu Verdeutlichung hier noch das List des Device
Internals:
DEF 192.168.2.163
DURATION 0
FUUID 64079440-f33f-aab4-edd1-7f8668b3527a20e2
INTERVAL 1
NAME LeistungsmesserShellyPlugS
NR 698
SHELLYID shellyplug-s-80646F83F09A
STATE off
<br>
0 W
TCPIP 192.168.2.163
TYPE Shelly
eventCount 91463
READINGS:
2023-03-09 10:49:29 KW 0.000
2023-03-09 10:19:14 cloud enabled(connected)
2023-03-09 10:36:00 energy 12.3
2023-03-07 20:45:12 firmware v1.12.2
2023-03-09 10:49:27 inttemp 28.89
2023-03-09 10:18:50 network <html>connected to <a href="http://192.168.2.163">192.168.2.163</a></html>
2023-03-09 10:35:51 overpower 0
2023-03-09 10:35:51 power 0
2023-03-09 10:39:02 relay off
2023-03-09 10:39:02 state off
Attributes:
alias PV-Luefter
devStateIcon on*:black_Steckdose.on off*:black_Steckdose.off
icon vent_ventilation_level_1
interval 1
model shellyplug
room Büro,Shelly-Devices
stateFormat relay
<br>
power W
userReadings KW {sprintf("%.3f",ReadingsVal($name,"power",0)/1000) }
Könnt ihr mir helfen, von Schlauch zu kommen?
an dem Stück code kann es mMn nicht liegen. Das macht was es soll: alle zwei Minuten wird eingeschaltet, falls ausgeschaltet war.
Ist Deine Erwartung eine Andere?
Zitat von: Otto123 am 09 März 2023, 11:05:32
an dem Stück code kann es mMn nicht liegen. Das macht was es soll: alle zwei Minuten wird eingeschaltet, falls ausgeschaltet war.
Sehe ich auch so, sofern in STATE (nicht state wg. Value() statt ReadingsVal() ) auch "off" steht und nicht (durch das Modul/Device oder stateFormat o.ä.) was anderes...
Zitat von: Otto123 am 09 März 2023, 11:05:32
Ist Deine Erwartung eine Andere?
Ja wäre auch meine Frage, weil
Zitat
Über die Shelly-App und FHEM-Web klappt das Einschalten manuell einwandfrei, jedoch nicht über die o.g. Logik.
war mir (auch) etwas wenig "Fehlerbeschreibung" ;)
Gruß, Joachim
"STATE" (Internals) und "state" (Readings) steht lt. list ja auf "off".
Rufe ich DeviceOverview auf, sehe ich dort unter "Internals"
STATE
off
<br>
0 W
Naja aber "off <br> 0W" ist halt nicht "identisch" zu "off"...
Entweder mittels "match" abfragen oder (viel besser) ReadingsVal("LeistungsmesserShellyPlugS", "state", "n.a.") eq "off"
Gruß, Joachim
Oh man, darauf wäre ich wirklich nicht gekommen - klappt jetzt!
Vielen Dank!
Zitat von: uron am 09 März 2023, 11:35:55
Oh man, darauf wäre ich wirklich nicht gekommen - klappt jetzt!
Vielen Dank!
Packst du noch deine Lösung rein :)
Man kann sich die zwar (er)denken aber wenn es da steht... 8)
Gruß, Joachim