Stromverbrauch von SmartSwitch weiter verarbeiten

Begonnen von Kiki99, 09 Januar 2018, 14:19:34

Vorheriges Thema - Nächstes Thema

Kiki99

Hallo Forum  :D

Ich habe einen Aeotec SmartSwitch Gen.5 erfolgreich in fhem einrichten können. Jetzt versuche ich gerade einen Blogeintrag nachzuvollziehen, der am Ende eine Benachrichtigung auslösen soll, wenn der Verbaucher (Waschmaschine) vermeintlich fertig ist.

Die Definition der Steckdose selbst hat wie gesagt funktioniert.

define ZWDongle_0 ZWDongle /dev/ttyACM0@115200
attr ZWDongle_0 homeId f0619b3a
define Waschmaschine ZWave f0619b3a 2
attr Waschmaschine IODev ZWDongle_0
attr Waschmaschine classes ZWAVEPLUS_INFO SWITCH_BINARY METER SWITCH_ALL SCENE_ACTUATOR_CONF SCENE_ACTIVATION CONFIGURATION ASSOCIATION ASSOCIATION_GRP_INFO CRC_16_ENCAP MANUFACTURER_SPECIFIC VERSION FIRMWARE_UPDATE_MD POWERLEVEL SECURITY MARK DEVICE_RESET_LOCALLY HAIL
attr Waschmaschine room Keller
attr Waschmaschine vclasses ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 HAIL:1 MANUFACTURER_SPECIFIC:2 METER:3 POWERLEVEL:1 SCENE_ACTIVATION:1 SCENE_ACTUATOR_CONF:1 SECURITY:1 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2
define FileLog_Waschmaschine FileLog ./log/Waschmaschine-%Y.log Waschmaschine
attr FileLog_Waschmaschine logtype text
attr FileLog_Waschmaschine room ZWave


Nun soll der erste Schritt sein, den gemessenen Verbrauch als eigenen Eintrag in Fhem anzulegen. Aber als State zeigt dieser schon nur "???" an. Kann mir jemand sagen, wo mein vermutlich extrem dämlicher Fehler liegt?

#Dummy WaschmaschineWatt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define WaschmaschineWatt dummy
attr WaschmaschineWatt room Keller
#Dummy WaschmaschineWatt mit Werten versorgen
define WaschmaschineWatt Set notify Waschmaschine_power {my $power =ReadingsVal("Waschmaschine_power","power","");; fhem ("set WaschmaschineWatt $power")}


Ich bin schon unsicher, ob define WaschmaschineWattSet notify Waschmaschine_power, wie im ursprungsblog oder define WaschmaschineWatt Set notify Waschmaschine_power richtig ist (leerzeichen zwischen WaschmaschineWatt und Set am Anfang). Allerdings funktioniert beides nicht.

Der Eintrag "power" wir innerhalb von Waschmaschine korrekt angezeigt und alle paar Sekunden aktualisiert.

Danke im voraus für jeden Tipp ;D
Hat jemand einen Tipp  ???  ::)

digiart

Ich habe so etwas ähnliches, nur (derzeit noch) ohne Benachrichtigung.
Ich hatte auch mit einem Dummy und einem AT angefangen, bis ich auf ReadingsProxy gestossen bin.
Den Status für's Icon am Floorplan setze ich mittels DOIF.
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

KernSani

Moin,
Mal abgesehen davon, dass der Blogeintrag Aus der Steinzeit stammt und das Ganze viel einfacher geht: Bitte Einsteiger PDF lesen und dich mit den Grundlagen vertraut machen oder zumindest mal in die Commandref oder das Wiki schauen, wie notify funktioniert, dann vergeht deine Unsicherheit bestimmt schnell... und nicht in der fhem.cfg rumfummeln sondern alles über die Weboberfläche (das beantwortet dann auch schon automatisch vieles)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

nils_

Zitat von: Kiki99 am 09 Januar 2018, 14:19:34
Ich bin schon unsicher, ob define WaschmaschineWattSet notify Waschmaschine_power, wie im ursprungsblog oder define WaschmaschineWatt Set notify Waschmaschine_power richtig ist (leerzeichen zwischen WaschmaschineWatt und Set am Anfang). Allerdings funktioniert beides nicht.
siehe "Tipp" :)

Zitat von: Kiki99 am 09 Januar 2018, 14:19:34
Der Eintrag "power" wir innerhalb von Waschmaschine korrekt angezeigt und alle paar Sekunden aktualisiert.
innerhalb von Waschmaschine oder von WaschmaschineWatt ??

Zitat von: Kiki99 am 09 Januar 2018, 14:19:34
Danke im voraus für jeden Tipp ;D
Hat jemand einen Tipp  ???  ::)
ja, nicht die fhem.cfg direkt bearbeiten (so wie KernSani auch schon empfohlen hat)


was gibt es für Log-Einträge??
Fehlermeldungen??
viele Wege in FHEM es gibt!

Kiki99

Also das pdf habe ich bisher halb durch und bin dabei noch nicht auf die Lösung gestossen.

in Waschmaschine war schon richtig, dort wird power angezeigt und alle paar Sekunden aktualisiert. Jetzt soll daraus halt ein eigener Eintrag werden.

lg

Hollo

Zitat von: Kiki99 am 10 Januar 2018, 08:51:00
...dort wird power angezeigt und alle paar Sekunden aktualisiert. Jetzt soll daraus halt ein eigener Eintrag werden.
Vielleicht liegt das Verständnisproblem in der fraglichen Sinnhaftigkeit dieses Vorhabens!?  ???

- Du nutzt einfach den vorhandenen Wert aus dem Reading
- Du kopierst den Wert per at alle x Sekunden stumpf in Deinen Dummy
- Du erstellst Dir mit den FHEM-Boardmitteln ein notify, welches Deinen Dummy aktualisiert
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Kiki99


#Dummy WaschmaschineWatt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define WaschmaschineWatt dummy
attr WaschmaschineWatt room Keller
#Dummy WaschmaschineWatt mit Werten versorgen
define WaschmaschineWatt Set notify Waschmaschine_power {my $power =ReadingsVal("Waschmaschine_power","power","");; fhem ("set WaschmaschineWatt $power")}


Das ist doch genau der Versuch einen Dummy zu erzeugen, der per notify automatisch aktualisiert wird oder nicht? ??? :-\

Hollo

Nö.
Vergleich mal Deine notify-Deklaration mit der Commandref...
Zitatdefine <name> notify <Suchmuster> <Anweisung>
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Kiki99

Ich muss jetzt mal ehrlich fragen, wofür dieses Forum eigentlich gut ist?

Ich stelle eine ordentlich formulierte freundliche Frage und bekomme als Antwort: Ist eigentlich ganz einfach, lese Dir doch das über  100 Seitige Einsteiger pdf durch Du Depp.

Neben Arbeit und Familie habe ich Depp dass nun sogar versucht aber als Anfängern erschließt sich einem die gesuchte Lösung daraus nicht mal eben.

Hätte ich statt den vorwürfen, mein versuch wäre ja total veraltet und dem Hinweis auf das pdf ein paar nützliche Hinweise bekommen, dann wäre das über die Suche zu finden und würde auch anderen helfen. So müssen andere Hilfesuchende nur wieder einen völlig sinnfreien thread lesen, nur um festzustellen: Wieder keine Hilfe.

Ich versuche es mal mit einer anderen Lösung, fhem scheint mir recht verkorkst, dieses Forum aber noch viel mehr. Schade.

Hollo

Zitat von: Kiki99 am 21 Januar 2018, 14:35:24
...Ich versuche es mal mit einer anderen Lösung, fhem scheint mir recht verkorkst, dieses Forum aber noch viel mehr. Schade.
Du hast auf Deine Frage umgehend mehrere Hinweise zur Lösungsfindung und Nachfragen zum Verständnis Deines Problems bekommen, aber beides nicht wirklich beantwortet.
Scheinbar hättest Du lieber direkt nach einer Lösung fragen sollen, statt Hilfe zur Selbsthilfe.
Es hat Dich niemand als Depp bezeichnet oder beleidigend geantwortet, Du musst aber wie jeder andere auch mitarbeiten.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

eazy_isi

Hallo,

eigentlich ist alles schon gesagt zur Lösungsfindung, aber hier mal meine Config, die seit gefühlt Jahren ohne Problem funktioniert.

# Waschmaschine Bauknecht
define Waschmaschine_B ZWave f97316fe 6
attr Waschmaschine_B IODev ZWDongle_0
attr Waschmaschine_B classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION SWITCH_BINARY POWERLEVEL METER SENSOR_MULTILEVEL FIRMWARE_UPDATE_MD MARK SWITCH_BINARY METER SENSOR_MULTILEVEL
attr Waschmaschine_B room ZWave
define FileLog_Waschmaschine_B FileLog ./log/Waschmaschine_B-%Y.log Waschmaschine_B
attr FileLog_Waschmaschine_B logtype text
attr FileLog_Waschmaschine_B room ZWave

#Dummy HR.Waschmaschine_B_Watt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define HR.Waschmaschine_B_Watt dummy
attr HR.Waschmaschine_B_Watt room Keller

#Dummy HR.Waschmaschine_B_Watt mit Werten versorgen
define HRWaschmaschine_B_WattSet notify Waschmaschine_B {my $power =ReadingsNum("Waschmaschine_B","power","");; fhem ("set HR.Waschmaschine_B_Watt $power")}

#Dummy HR.Waschmaschine_B_Betrieb definieren
define HR.Waschmaschine_B_Betrieb dummy
attr HR.Waschmaschine_B_Betrieb event-on-change-reading state
attr HR.Waschmaschine_B_Betrieb icon scene_laundry_room
attr HR.Waschmaschine_B_Betrieb room Keller

#Dummy HR.Waschmaschine_B_Betrieb einschalten bei Verbrauch größer 30 Watt
define HRWaschmaschine_B_BetriebAn notify Waschmaschine_B:power.* {fhem ("set HR.Waschmaschine_B_Betrieb on;; setstate HRWaschmaschine_B_AutoOff defined") if (ReadingsNum("Waschmaschine_B","power","") >= 5 && Value("HR.Waschmaschine_B_Betrieb") ne "on")}

#Dummy HR.Waschmaschine_B_HoherVerbrauch definieren
define HR.Waschmaschine_B_HoherVerbrauch dummy
attr HR.Waschmaschine_B_HoherVerbrauch event-on-change-reading state
attr HR.Waschmaschine_B_HoherVerbrauch room Keller

#Dummy HR.Waschmaschine_B_HoherVerbrauch einschalten bei Verbrauch größer 5 Watt bei laufendem Betrieb
define HRWaschmaschine_B_HoherVerbrauchAn notify Waschmaschine_B:power.* {fhem ("set HR.Waschmaschine_B_HoherVerbrauch on;; setstate HRWaschmaschine_B_AutoStandby defined") if (ReadingsNum("Waschmaschine_B","power","") > 5 && Value("HR.Waschmaschine_B_Betrieb") eq "on")}

#Dummy HR.Waschmaschine_B_HoherVerbrauch ausschalten bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define HRWaschmaschine_B_HoherVerbrauchAus notify Waschmaschine_B:power.* {fhem ("set HR.Waschmaschine_B_HoherVerbrauch off") if (ReadingsNum("Waschmaschine_B","power","") <= 5 && Value("HR.Waschmaschine_B_Betrieb") eq "on")}

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tatsächlich abgeschlossen ist
define HRWaschmaschine_B_AutoStandby watchdog HR.Waschmaschine_B_HoherVerbrauch:off 00:05 HR.Waschmaschine_B_HoherVerbrauch:on set HR.Waschmaschine_B_Betrieb standby
attr HRWaschmaschine_B_AutoStandby regexp1WontReactivate 1
attr HRWaschmaschine_B_AutoStandby room Keller


define HRWaschmaschine_B_WaschvorgangAbgeschlossenPushover notify HR.Waschmaschine_B_Betrieb:standby set Zuhause send Waschmaschine Nr.2 ist fertig


Gruß
Thomas