mit dem Einzug in die neue Wohnung ist auch das Projekt "Smart Home" gestartet.
Ich habe einige Shellys in der Wohnung verbaut und auch erfolgreich in OpenHAB eingebunden.
Jeweils einer ist an der Waschmaschine und am Trockner zur Leistungsmessung verbaut. Darüber möchte ich nun den Status bestimmen.
Dazu bin ich einer Online-Anleitung gefolgt, aber bisher funktioniert es leider noch nicht. Ich habe nun verschiedene Anleitungen gelesen und einige Dinge ausprobiert, bin aber leider noch nicht erfolgreich gewesen.
Ich habe folgende Dateien erstellt:
household-devices.items
Code: Alles auswählen
// Waschmaschine mit Leistungsmessung
Number C_LaundryRoom_Washingmachine_SIGNAL_STRENTH "Waschmaschine - Signal Strength" (C, C_LaundryRoom) {channel="shelly:shelly1pm:e5b994:device#wifiSignal"}
Number:Power C_LaundryRoom_Washingmachine_POWER "Waschmaschine - Leistung" (C, C_LaundryRoom) {channel="shelly:shelly1pm:e5b994:meter#currentWatts"}
Number C_LaundryRoom_Washingmachine_OPSTATE "Waschmaschine - Status [MAP(household-devices.map):%s]" (C, C_LaundryRoom)
// Trockner mit Leistungsmessung
Number C_LaundryRoom_Dryer_SIGNAL_STRENTH "Trockner - Signal Strength" (C, C_LaundryRoom) {channel="shelly:shelly1pm:68c63afae26f:device#wifiSignal"}
Number:Power C_LaundryRoom_Dryer_POWER "Trockner - Leistung" (C, C_LaundryRoom) {channel="shelly:shelly1pm:68c63afae26f:meter#currentWatts"}
Number C_LaundryRoom_Dryer_OPSTATE "Trockner - Status [MAP(household-devices.map):%s]" (C, C_LaundryRoom)
Code: Alles auswählen
val Number MODE_OFF = 0
val Number MODE_STANDBY = 1
val Number MODE_ACTIVE = 2
val Number MODE_FINISHED = 3
rule "Washingmachine Consumption State Machine"
when
Item C_LaundryRoom_Washingmachine_POWER changed
then
if (C_LaundryRoom_Washingmachine_POWER.state < 0.2) {
C_LaundryRoom_Washingmachine_OPSTATE.postUpdate(MODE_OFF)
logInfo("INFO","Waschmaschine: MODE_OFF")
}
else if (C_LaundryRoom_Washingmachine_POWER.state > 5) {
C_LaundryRoom_Washingmachine_OPSTATE.postUpdate(MODE_ACTIVE)
logInfo("INFO","Waschmaschine: MODE_ACTIVE")
}
else if (C_LaundryRoom_Washingmachine_POWER.state < 5) {
if (C_LaundryRoom_Washingmachine_OPSTATE.state == MODE_OFF) {
C_LaundryRoom_Washingmachine_OPSTATE.postUpdate(MODE_STANDBY)
logInfo("INFO","Waschmaschine: MODE_STANDBY")
}
else if (C_LaundryRoom_Washingmachine_OPSTATE.state == MODE_ACTIVE) {
C_LaundryRoom_Washingmachine_OPSTATE.postUpdate(MODE_FINISHED)
logInfo("INFO","Waschmaschine: MODE_FINISHED")
}
}
end
Code: Alles auswählen
0=Aus
1=Standby
2=Aktiv
3=Fertig
-=Unbekannt
NULL=Test
Der Statuts wird allerdings als Unbekannt angezeigt.
Ich würde mich super freuen, wenn ihr mir hier weiterhelfen könntet!
Vielen Dank!
Freundliche Grüße
jnnsfnk