Hello all,
I bought some Gosund SP1 and flashed them with ESPurna. All values are arriving via MQTT and can be displayed in BasicUI.
Then I wanted to try the magic thing from first post. The weired thing is, I see no status message in UI but no error message in logs. Maybe I may ask you for a little help to check my settings?
items:
Switch Dose_WaMa_Switch "Steckdose Waschmaschine" <switchwash> (gKE_Naehen) { mqtt=">[mymosquitto:Dose-WaMa/relay/0/set:command:*:MAP(ohtoespurna.map)], <[mymosquitto:Dose-WaMa/relay/0:state:MAP(espurnatooh.map)]" }
Number Dose_WaMa_Power "WaMa Leistung [%.0f W]" <ownvoltage> (gKE_Naehen) { mqtt="<[mymosquitto:Dose-WaMa/power:state:default]" }
Number Dose_WaMa_Voltage "WaMa Spannung [%.0f V]" <ownvoltage> (gKE_Naehen) { mqtt="<[mymosquitto:Dose-WaMa/voltage:state:default]" }
Number Dose_WaMa_Energy "WaMa Verbrauch [%.3f kWh]" <ownvoltage> (gKE_Naehen) { mqtt="<[mymosquitto:Dose-WaMa/energy:state:default]" }
Number Dose_WaMa_Current "WaMa Stromstärke [%.3f A]" <ownvoltage> (gKE_Naehen) { mqtt="<[mymosquitto:Dose-WaMa/current:state:default]" }
String WaMa_Status "Waschmaschine Status [MAP(waschmaschine.map):%s]" <switchwash> (gKE_Naehen)
map:
2=Laeuft
3=Fertig
-=-
NULL=-
/*ANFANG SubFrame Keller ########################################################################################*/
Text label=Keller icon="cellar"{
Frame {
Group item=gKE_Werkstatt label="Werkstatt" icon="owntoolshop"
/*Text item=Werkstatt icon="owntoolshop"{
Default item=TemperatureAussenHinten label="TemperaturHinten: [%.1f °C]"
}*/
Group item=gKE_Naehen label="Nähzimmer" icon="ownkate"
}
}
}
/*ENDE SubFrame Keller ########################################################################################*/
and finally rules:
import java.util.concurrent.locks.ReentrantLock
val Number MODE_OFF = 0
val Number MODE_STANDBY = 1
val Number MODE_ACTIVE = 2
val Number MODE_FINISHED = 3
var java.util.concurrent.locks.ReentrantLock finishLock = new java.util.concurrent.locks.ReentrantLock()
rule "Waschmaschine aktiv"
when
Item Dose_WaMa_Power changed
then
logInfo ("WaMa_Status","WaMa_Status" + WaMa_Status)
if (Dose_WaMa_Power.state < 0.2) WaMa_Status.postUpdate("Aus")
else if (Dose_WaMa_Power.state > 10) WaMa_Status.postUpdate("Läuft")
else if (Dose_WaMa_Power.state < 4.5) {
if (WaMa_Status.state == "Aus") WaMa_Status.postUpdate("Standby")
else if (WaMa_Status.state == "Läuft") {
finishLock.lock()
try {
Thread::sleep(10000) // Debounce for 10 seconds
if (Dose_WaMa_Power.state < 4.5) WaMa_Status.postUpdate("Fertig!")
} finally {
finishLock.unlock()
}
}
}
end