ich bin nun endlich dazugekommen den Mäher über MQTT anzubinden.
Code: Alles auswählen
// Steuerung Rasenmährooter Gardena Sileno City mit Robonect (https://www.robonect-shop.de/) über MQTT
{
"Level": [
// Levels allgemein
["$tr","bool",true],
// Levels Betriebsart
["$In_Status","int",0],
["$Parken","bool",false],
["$Maeht","bool",false],
["$Suchen","bool",false],
["$Laden","bool",false],
["$Ausfahren","bool",false],
["$Fehler","bool",false],
["$Schlafen","bool",false],
//Levels Betriebsstunden
["$Reset","bool",false],
["$Maehzeit_Ist","float",0.0],
["$Maehzeit_Soll","float",0.0],
["$Interval","float",60.0],
["$StartZeitTag","string","2 0 0 * * *"],
["$Maehzeit_erreicht","bool",false],
// Levels Freigabe Zeit
["$StartZeit","string","0 0 7 * * 1-6"],
["$StopZeit","string","0 0 22 * * 1-6"],
["$Set_crone","bool",false],
["$Res_crone","bool",false],
["$Set","bool",false],
["$Res","bool",false],
["$Set_ext","bool",false],
["$Res_ext","bool",false],
["$Stat","int",0],
["$Freigabe_Zeit","bool",false],
// Levels Freigabe Temperatur
["$Solltemp","float",5.0],
["$Isttemp","float",0.0],
["$Freigabe_Temp","bool",false],
// Level Freigabe Regen
["$Regen","bool",false],
["$Nachlaufzeit","float",3600.0],
["$Sperre_Regen","bool",false],
["$Freigabe_Regen","bool",false],
// Levels Freigabe
["$Freigabe","bool",false],
["$Sperre","bool",false],
// Levels Modus
["$Freigabe_int","int",0],
["$Wert_Maehen","int",2],
["$Wert_Home","int",1],
["$Modus","int",0],
["$Modus_string","string",""],
["$Modus_Home","string","home"],
["$Modus_Maehen","string","auto"],
["$Modus_Manuel","string","man"],
["$Modus_EOD","string","eod"],
["$VAR<Inhibit?>", "bool", false]
],
"Module": [
["Break", ["$VAR<Inhibit?>"] ],
// Module Betriebsart
["Multiplexer",[0,"$tr",0],"$Parken","$In_Status"],
["Multiplexer",[0,0,"$tr",0],"$Maeht","$In_Status"],
["Multiplexer",[0,0,0,"$tr",0],"$Suchen","$In_Status"],
["Multiplexer",[0,0,0,0,"$tr",0],"$Laden","$In_Status"],
["Multiplexer",[0,0,0,0,0,"$tr",0],"$Ausfahren","$In_Status"],
["Multiplexer",[0,0,0,0,0,0,0,"$tr",0],"$Fehler","$In_Status"],
["Multiplexer",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"$tr",0],"$Schlafen","$In_Status"],
// Module Mähzeit Tag
// Zähler Rücksetzen
["Cron","$tr","$Reset",0,"$StartZeitTag"],
// Betriebsdauer aktualisieren
["HobbsMeter","$Maeht","$Maehzeit_Ist","$Reset"],
// ResetTag auf false setzen
["Multiplexer",["$Reset","-$tr"],"$Reset","$Reset"],
// Clocksignal für Sendeintervall
["Clocksignal","$Maeht",0,"$Interval"],
// Mähzeit erreicht
["Comparator", "$Maehzeit_Ist","$Maehzeit_erreicht","$Maehzeit_Soll"],
// Module Freigabe Zeit
["Cron","$tr","$Set_crone",0,"$StartZeit"],
["Cron","$tr","$Res_crone",0,"$StopZeit"],
["Or",["$Set_crone","$Set_ext"],"$Set"],
["Or",["$Res_crone","$Res_ext"],"$Res"],
["BinaryMultiplexer",["$Set","$Res"],"$Stat"],
["Multiplexer",["$Freigabe_Zeit","$tr","-$tr"],"$Freigabe_Zeit","$Stat"],
// Module Freigabe Temperatur
["Comparator","$Isttemp","$Freigabe_Temp","$Solltemp"],
// Module Freigabe Regen
["Monoflop","$Regen",0,"$Sperre_Regen","$Nachlaufzeit",5],
["And",["-$Regen","-$Sperre_Regen"],"$Freigabe_Regen"],
// Module Freigabe
["And",["-$Sperre","-$Maehzeit_erreicht","$Freigabe_Zeit","$Freigabe_Regen","$Freigabe_Temp"],"$Freigabe"],
// Module Modus
["BinaryMultiplexer",["$Freigabe"],"$Freigabe_int"],
["Multiplexer",["$Wert_Home", "$Wert_Maehen"],"$Modus","$Freigabe_int"],
["Multiplexer",["$Modus_Home","$Modus_Maehen"],"$Modus_string","$Freigabe_int"]
],
"Input": [
["Sperre","Sperre Automatik","$Sperre","c"],
["In_Status","Eingang Status","$In_Status","c"],
["Mähzeit","Mähzeit Soll","$Maehzeit_Soll","c"],
["Solltemperatur","Solltemperatur","$Solltemp","u"],
["Isttemperatur","Isttemperatur","$Isttemp","c"],
["Regen","Regensensor","$Regen","c"],
["Nachlaufzeit","Nachlaufzeit Regen","$Nachlaufzeit","c"],
["Start Tag","Mähen Tag starten","$Set_ext","c"],
["Ende Tag","Mähen für heute beenden","$Res_ext","c"],
["Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ]
],
"Output": [
["Parken","Parken","$Parken?","c"],
["Mäht","Mäht","$Maeht?","c"],
["Suchen","Ladestation Suchen","$Suchen?","c"],
["Laden","Laden","$Laden?","c"],
["Ausfahren","Mäher fährt aus Ladestation raus","$Ausfahren?","c"],
["Fehler","Fehler","$Fehler?","c"],
["Schlafen","Schlafen","$Schlafen?","c"],
["Aktuelle Mähzeit","Mähzeit in h heute","$Maehzeit_Ist?","ct"],
["Freigabe","Freigabe","$Freigabe?","c"],
["Modus","Modus","$Modus","c"],
["Modus Text","Modus als Text für MQTT","$Modus_string","c"]
]
}
// Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht."
Der Baustein funktioniert noch genauso wie der letzte nur kann der Ausgang "Modus Text" direkt an MQTT übergeben werden.
Kommunikation über API wäre auch noch möglich (mit ein paar mehr Möglichkeiten), da habe ich aber noch nichts gemacht.