Den Aktuelle
Status eures treuen Helfers könnt ihr mit folgenden LUA Befehl abfragen:
Wichtig!!! Es müssen folgende Variablen bei der HC2 hinzugefügt werden:
AM_Status
AM_Mode
AM_Timer
LUA Befehl:
-- Setze Verbindungsdaten
-- hole ip adresse aus virtuellem modul
selfId = fibaro:getSelfId()
mowerIP = fibaro:get(selfId, "IPAddress")
mowerPort = fibaro:get(selfId, "TCPPort")
-- setze variable MOWER aus IP und Logindaten
MOWER = Net.FHttp(mowerIP)
-- -------------------------------------------------
-- -------------------------------------------------
-- geting info about specific device
response = MOWER:GET("/json?cmd=
Status")
-- decoding json string to table
extractedjson = json.decode(response)
-- "
Status/battery": "Battery
Status"
-- "
Status/duration": "Mode Duration"
-- "
Status/hours": "Hours"
-- "
Status/mode": "Mode"
-- "
Status/
Status": "
Status"
-- "
Timer/
Status": "
Timer Status"
battery = extractedjson.
Status.battery
duration = extractedjson.
Status.duration
hours = extractedjson.
Status.hours
AM_Status = extractedjson.
Status.
Status
AM_Mode = extractedjson.
Status.mode
AM_Timer = extractedjson.
Timer.
Status
fibaro:debug(battery.."%")
fibaro:debug(duration.."s")
fibaro:debug(hours.."h")
fibaro:debug(AM_Status)
fibaro:debug(AM_Mode)
fibaro:debug(AM_Timer)
fibaro:call(selfId, "setProperty", "ui.LabelBatterystatus.value",(battery).." %");
fibaro:call(selfId, "setProperty", "ui.LabelModeDuration.value",(duration).." s");
fibaro:call(selfId, "setProperty", "ui.LabelHours.value",(hours).."h");
fibaro:call(selfId, "setProperty", "ui.LabelMode.value",(AM_Mode));
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value",(AM_Status));
fibaro:call(selfId, "setProperty", "ui.LabelTimer.value",(AM_Timer));
fibaro:debug("
Status Auswertung gestartet")
if (AM_Status == 0) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower schläft");
fibaro:
log("
Status: Automower schläft")
fibaro:debug("Automower schläft")
elseif (AM_Status == 1) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower parkt");
fibaro:
log("
Status: Automower parkt")
fibaro:debug("Automower parkt")
elseif (AM_Status == 2) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower mäht");
fibaro:
log("
Status: Automower mäht")
fibaro:debug("Automower mäht")
elseif (AM_Status == 3) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower sucht die Ladestation");
fibaro:
log("
Status: Automower sucht die Ladestation")
fibaro:debug("Automower sucht die Ladestation")
elseif (AM_Status == 4) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower lädt");
fibaro:
log("
Status: Automower lädt")
fibaro:debug("Automower lädt")
elseif (AM_Status == 5) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Automower sucht (
manuell umsetzen)");
fibaro:
log("
Status: Automower sucht (
manuell umsetzen)")
fibaro:debug("Automower sucht (
manuell umsetzen)")
elseif (AM_Status == 7) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Fehlerstatus");
fibaro:
log("
Status: Fehlerstatus")
fibaro:debug("Fehlerstatus")
elseif (AM_Status == 8) then
fibaro:call(selfId, "setProperty", "ui.LabelStatus.value"," Schleifensignal verloren");
fibaro:
log("
Status: Automower Schleifensignal verloren")
fibaro:debug("Automower Schleifensignal verloren")
else
fibaro:call(selfId, "setProperty", "ui.LabelState.value"," Error");
fibaro:
log("
Status: Ladefehler")
fibaro:debug("Ladefehler")
end
fibaro:setGlobal("AM_Status", AM_Status);
fibaro:sleep(2000);
fibaro:debug("Modus Auswertung gestartet")
if (AM_Mode == 0) then
fibaro:call(selfId, "setProperty", "ui.LabelMode.value","
Auto");
fibaro:
log("Mode:
Auto")
fibaro:debug("
Auto")
elseif (AM_Mode == 1) then
fibaro:call(selfId, "setProperty", "ui.LabelMode.value","
manuell");
fibaro:
log("Mode:
manuell")
fibaro:debug("
manuell")
elseif (AM_Mode == 2) then
fibaro:call(selfId, "setProperty", "ui.LabelMode.value","
home");
fibaro:
log("Mode:
home")
fibaro:debug("
home")
else
fibaro:call(selfId, "setProperty", "ui.LabelMode.value"," Error");
fibaro:
log("Mode: Fehler")
fibaro:debug("Fehler")
end
fibaro:setGlobal("AM_Mode", AM_Mode);
fibaro:sleep(2000);
fibaro:debug("
Timer Auswertung gestartet")
if (AM_Timer == 0) then
fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Deaktiviert");
fibaro:
log("
Timer: Deaktiviert")
fibaro:debug("Deaktiviert")
elseif (AM_Timer == 1) then
fibaro:call(selfId, "setProperty", "ui.LabelTimer.value","
Auto");
fibaro:
log("
Timer:
Auto")
fibaro:debug("
Auto")
elseif (AM_Timer == 2) then
fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Standby");
fibaro:
log("
Timer: Standby")
fibaro:debug("Standby")
else
fibaro:call(selfId, "setProperty", "ui.LabelTimer.value"," Error");
fibaro:
log("
Timer: Fehler")
fibaro:debug("Fehler")
end
fibaro:setGlobal("AM_Timer", AM_Timer);