sOnOff Meldung Telegram, Spülmaschine fertig

Begonnen von B.Stromberg, 14 Mai 2021, 01:15:59

Vorheriges Thema - Nächstes Thema

B.Stromberg

Hallo!
Ich nutze verschiedene sOnOff POWs um mir Meldungen via Telegram zuschicken zu lassen, wenn z. B. der Trockner oder die Waschmaschine fertig sind.

Das Ganze funktioniert mit den zuvor genannten Geräten sehr gut.
Nun habe ich das Selbe mit meiner Spülmaschine versucht.

Leider bekomme ich erst eine TG Nachricht, wenn ich die Spülmaschine nach dem Spülvorgang ausschalte. Vorher ist sie wohl im Standby.
Die letzten 15 Minuten hat das Teil so einen Trockenvorgang, der wahrscheinlich kaum einen Verbrauch hat?
Wo ist mein Denkfehler?

define Spuelmaschine MQTT_DEVICE
setuuid Spuelmaschine 5f78ef58-f33f-0855-979a-2d8040ed8425cf42
attr Spuelmaschine IODev myBroker
attr Spuelmaschine alias Spuelmaschine
attr Spuelmaschine devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
attr Spuelmaschine icon scene_dishwasher
attr Spuelmaschine publishSet on off cmnd/Spuelmaschine/power
attr Spuelmaschine room Wohnzimmer
attr Spuelmaschine stateFormat state
attr Spuelmaschine subscribeReading_Sensor tele/Spuelmaschine/SENSOR
attr Spuelmaschine subscribeReading_Telemetie tele/Spuelmaschine/STATE
attr Spuelmaschine subscribeReading_state stat/Spuelmaschine/POWER
attr Spuelmaschine webCmd ON:OFF
define Spuelmaschine_expandJSON expandJSON Spuelmaschine:Sensor:.*
setuuid Spuelmaschine_expandJSON 5f78ef58-f33f-0855-a59a-ebe5f5f7aaf727cd
attr Spuelmaschine_expandJSON room Wohnzimmer
define Spuelmaschine_expandJSON1 expandJSON Spuelmaschine:Telemetie:.*
setuuid Spuelmaschine_expandJSON1 5f78ef58-f33f-0855-788f-87ca48c348329a88

define TH_Spuelmaschine THRESHOLD Spuelmaschine:ENERGY_Power:0.3:1.5||||active:done|_sc
setuuid TH_Spuelmaschine 5f7ca469-f33f-0855-66bf-f55542cffd2eb836
attr TH_Spuelmaschine room sonOff
attr TH_Spuelmaschine state_cmd1_gt active
attr TH_Spuelmaschine state_cmd2_lt done
attr TH_Spuelmaschine state_format _sc
define WD_Spuelmaschine watchdog TH_Spuelmaschine:done.* 00:05:00 TH_Spuelmaschine:active.* set myTelegramBot message Die Spuelmaschine ist fertig.
setuuid WD_Spuelmaschine 5f7ca4a1-f33f-0855-1d4c-7bb2312d3a5741f1
attr WD_Spuelmaschine autoRestart 1
attr WD_Spuelmaschine room sonOff

canis

Bei mir funktioniert dieses DOIF ohne Beanstandung, sollte auch mit Telegram gehen:
([Dishwasher_Pow:Power] < 3.0) ({ fhem("set Pushover_Client msg 'Geschirrspüler fertig'") })
... (set TelegramBot message Geschirrspüler fertig)

B.Stromberg

Zitat von: canis am 14 Mai 2021, 10:38:19
Bei mir funktioniert dieses DOIF ohne Beanstandung, sollte auch mit Telegram gehen:
([Dishwasher_Pow:Power] < 3.0) ({ fhem("set Pushover_Client msg 'Geschirrspüler fertig'") })
... (set TelegramBot message Geschirrspüler fertig)

Hallo!

Danke!
Kannst du bitte mal das komplette Device aus deiner FHEM Config hier anhängen?

canis

Gerne.
Ich verwende "Power" als userReadings, weil "Power" bei mir ins DBLog kommt

defmod WaschMaNeu MQTT_DEVICE
attr WaschMaNeu IODev MQTTSRV
attr WaschMaNeu alias WaschMaNeu
attr WaschMaNeu comment Sonoff Pow 1. Version 9.2.0.3(tasmota) \
http://192.168.211.162
attr WaschMaNeu event-on-change-reading .*
attr WaschMaNeu icon measure_power
attr WaschMaNeu room 3_Keller->Waschkueche
attr WaschMaNeu stateFormat {sprintf("aktuell: %.1f W Tag: %.2f KW/h Gestern: %.2f KW PowerAv3: %.2f W PowerAv4: %.2f W", ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"ENERGY_Today",0), ReadingsVal($name,"ENERGY_Yesterday",0), ReadingsVal($name,"PowerAv3",0), ReadingsVal($name,"PowerAv4",0))}
attr WaschMaNeu subscribeReading_ENERGYJson Keller/WaMaNeu/tele/SENSOR
attr WaschMaNeu userReadings Power {ReadingsVal($name,"ENERGY_Power",0)}, \
PowerAv3 {movingAverage("$name","ENERGY_Power",450)}, \
PowerAv4 {movingAverage("$name","ENERGY_Power",600)}

Dazu noch ein expandJson:

defmod WaschMaNeu_expandJSON expandJSON WaschMaNeu:ENERGYJson:.\{.*}
attr WaschMaNeu_expandJSON addStateEvent 1
attr WaschMaNeu_expandJSON room Unsorted


B.Stromberg

Zitat von: canis am 15 Mai 2021, 11:11:16
Gerne.
Ich verwende "Power" als userReadings, weil "Power" bei mir ins DBLog kommt

defmod WaschMaNeu MQTT_DEVICE
attr WaschMaNeu IODev MQTTSRV
attr WaschMaNeu alias WaschMaNeu
attr WaschMaNeu comment Sonoff Pow 1. Version 9.2.0.3(tasmota) \
http://192.168.211.162
attr WaschMaNeu event-on-change-reading .*
attr WaschMaNeu icon measure_power
attr WaschMaNeu room 3_Keller->Waschkueche
attr WaschMaNeu stateFormat {sprintf("aktuell: %.1f W Tag: %.2f KW/h Gestern: %.2f KW PowerAv3: %.2f W PowerAv4: %.2f W", ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"ENERGY_Today",0), ReadingsVal($name,"ENERGY_Yesterday",0), ReadingsVal($name,"PowerAv3",0), ReadingsVal($name,"PowerAv4",0))}
attr WaschMaNeu subscribeReading_ENERGYJson Keller/WaMaNeu/tele/SENSOR
attr WaschMaNeu userReadings Power {ReadingsVal($name,"ENERGY_Power",0)}, \
PowerAv3 {movingAverage("$name","ENERGY_Power",450)}, \
PowerAv4 {movingAverage("$name","ENERGY_Power",600)}

Dazu noch ein expandJson:

defmod WaschMaNeu_expandJSON expandJSON WaschMaNeu:ENERGYJson:.\{.*}
attr WaschMaNeu_expandJSON addStateEvent 1
attr WaschMaNeu_expandJSON room Unsorted

Hallo!
Danke!

Ich meinte aber dein DOIF zur Meldung ob fertig oder nicht aus deiner FHEM config :)


juergen012

Hallo,
ich nutze foldgendes DOIF:
defmod di_pushmsgGeschirrspueler DOIF ([sonoff_Geschirrspueler:ENERGY_Power] > 200 and [sonoff_Geschirrspueler:running] eq "off") (setreading sonoff_Geschirrspueler running on) \
DOELSEIF ([sonoff_Geschirrspueler:ENERGY_Power] < 3 and [sonoff_Geschirrspueler:running] eq "on") (setreading sonoff_Geschirrspueler running off)({fhem("set Telegrambot message Geschirrspüler fertig am $mday.$month.$year $hms")})
attr di_pushmsgGeschirrspueler DbLogExclude .*
attr di_pushmsgGeschirrspueler alias di_pushmsgGeschirrspueler
attr di_pushmsgGeschirrspueler do always
attr di_pushmsgGeschirrspueler room DOIF
attr di_pushmsgGeschirrspueler verbose 2
attr di_pushmsgGeschirrspueler wait 2:5,300


habe ich mal irgendwo im Netz gefunden.
Gruß
Jürgen K.
Fhem unter Proxmox

canis

defmod GeschirrspuelerPuschFertig DOIF ([Dishwasher_Pow:Power] < 3.0) ({ fhem("set Pushover_Client msg 'Geschirrspüler fertig'") })
attr GeschirrspuelerPuschFertig room SystemUtils->Pushover

B.Stromberg

Zitat von: juergen012 am 15 Mai 2021, 13:38:40
Hallo,
ich nutze foldgendes DOIF:
defmod di_pushmsgGeschirrspueler DOIF ([sonoff_Geschirrspueler:ENERGY_Power] > 200 and [sonoff_Geschirrspueler:running] eq "off") (setreading sonoff_Geschirrspueler running on) \
DOELSEIF ([sonoff_Geschirrspueler:ENERGY_Power] < 3 and [sonoff_Geschirrspueler:running] eq "on") (setreading sonoff_Geschirrspueler running off)({fhem("set Telegrambot message Geschirrspüler fertig am $mday.$month.$year $hms")})
attr di_pushmsgGeschirrspueler DbLogExclude .*
attr di_pushmsgGeschirrspueler alias di_pushmsgGeschirrspueler
attr di_pushmsgGeschirrspueler do always
attr di_pushmsgGeschirrspueler room DOIF
attr di_pushmsgGeschirrspueler verbose 2
attr di_pushmsgGeschirrspueler wait 2:5,300


habe ich mal irgendwo im Netz gefunden.
Gruß
Jürgen K.

Vielen Dank!
Fehlt da am Anfang nicht etwas? Das Define?
Weil die erste Zeile nimmt FHEM in der Konsole ja so gar nicht an.
Sorry, bin Newbee in sowas

juergen012

Fhem unter Proxmox