Automower (G2) über Homematic / WLAN steuern

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

re-vo-lution
Beiträge: 131
Registriert: 07.01.2018, 15:11
Wohnort: 08233 Treuen
Hat sich bedankt: 21 Mal
Danksagung erhalten: 8 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von re-vo-lution » 23.06.2019, 21:29

mule hat geschrieben:
23.06.2019, 20:06
Da wird der system.Exec nicht korrekt ausgeführt und die Rega gibt daher einen entsprechenden Fehler zurück.
Bitte poste doch mal den vollständigen, originalen system.Exec-Aufruf. Irgendetwas mag die Rega daran nicht.
Hab es direkt aus der Anleitung kopiert und nur das Logging angepaßt.

ar stderr;
var stdout;
system.Exec("/etc/config/addons/automower/automower.tcl 0 5 500 200
5 10 192.168.178.241:10001",&stdout, &stderr);

mule
Beiträge: 1168
Registriert: 06.07.2010, 00:24
Hat sich bedankt: 3 Mal
Danksagung erhalten: 35 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von mule » 23.06.2019, 23:11

Ist der Zeilenumbruch im obigen system.Exec nur durch das Kopieren entstanden oder ist der bei Dir auch im Script so drin? Dann bitte entfernen und es sollte eigentlich laufen.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483

Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295

re-vo-lution
Beiträge: 131
Registriert: 07.01.2018, 15:11
Wohnort: 08233 Treuen
Hat sich bedankt: 21 Mal
Danksagung erhalten: 8 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von re-vo-lution » 24.06.2019, 16:29

mule hat geschrieben:
23.06.2019, 23:11
Ist der Zeilenumbruch im obigen system.Exec nur durch das Kopieren entstanden oder ist der bei Dir auch im Script so drin? Dann bitte entfernen und es sollte eigentlich laufen.
Lag am Zeilenumbruch, nun funktioniert es. Vielen Dank.

lobocobra2
Beiträge: 1
Registriert: 13.07.2019, 12:20

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von lobocobra2 » 13.07.2019, 12:28

Hallo zusammen

Leider kann ich meinen Nick Lobocobra nicht mehr zurücksetzen. Jedoch wollte ich hier noch meine Portierung auf NODE - RED teilen.
Somit könnt Ihr den Automower über MQTT steuern und direkt mit OPENHAB kommunizieren. Ich scripte nur noch in NODE-RED oder Openhab.
=> Eventuell hilft dies ja jemandem hier...

Code: Alles auswählen

[{"id":"7a498143.cf8ff","type":"comment","z":"cc15dff6.8f50c","name":"Listen on MQTT and start sequence","info":"","x":170,"y":40,"wires":[]},{"id":"fa63bfa8.89b52","type":"mqtt in","z":"cc15dff6.8f50c","name":"Listen MQTT Automower (use keyword inject)","topic":"+/Automower/#","qos":"0","datatype":"auto","broker":"3cac25a9.63c0da","x":210,"y":80,"wires":[["c1fe0594.0427c8"]]},{"id":"c1fe0594.0427c8","type":"function","z":"cc15dff6.8f50c","name":"Transform MQTT to message (payload \"inject\" needed)","func":"// stop if we did not receive a command\nif (msg.payload == \"inject\") { //only react if the keyword \"inject\" is used\n\n// create JSON MQTT MESSAGE\nvar new_msg = {};\nmyJson = {}; // create the JSON message\n\n//split topic to check if it is CMND/STAT/TELE\nvar topic_type = msg.topic.slice(0).split('/'); //slice (starting from, -1= all word or numbers for #char)\n\n//handle cmnd answers\nif(topic_type[0] == \"cmnd\"){\n    \n    switch(topic_type[2]){\n            case \"Status\":          topic_type[0]= \"stat\" ; msg.payload = \"0F01F10000\";  break;\n            case \"W-Mode-Home\":     topic_type[0]= \"cmnd\" ; msg.payload = \"0F812C0003\";  break;\n            case \"W-Mode-Auto\":     topic_type[0]= \"cmnd\" ; msg.payload = \"0F812C0001\";  break;\n            case \"LoopQuality500\":  topic_type[0]= \"tele\" ; msg.payload = \"0F01B90000\";  break;\n            case \"BatterieMV\":      topic_type[0]= \"tele\" ; msg.payload = \"0F2EF40000\";  break;\n            case \"TempBatterie\":    topic_type[0]= \"tele\" ; msg.payload = \"0F02330000\";  break;\n            case \"BatteryCapacity\": topic_type[0]= \"tele\" ; msg.payload = \"0F00B10000\";  break;\n            case \"MVolt\":           topic_type[0]= \"tele\" ; msg.payload = \"0F01EB0000\";  break;\n            \n            default:   new_msg.topic = \"not found\"; break;\n    }\n}\n\nvar objName = topic_type[2]; //identify the answer\nvar objValue = msg.payload;\nmyJson = objValue;\n\nnew_msg.payload = myJson;  // load the message\nnew_msg.topic =  topic_type[0]+\"/\"+topic_type[1]+\"/\"+topic_type[2]+\"/\"; // do not forget the topic\nreturn new_msg;            // send it out\n}","outputs":1,"noerr":0,"x":640,"y":80,"wires":[["f7719f19.1fda7","9f888841.f5fb58"]]},{"id":"f7719f19.1fda7","type":"debug","z":"cc15dff6.8f50c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1010,"y":80,"wires":[]},{"id":"3e85cf4a.a07a7","type":"comment","z":"cc15dff6.8f50c","name":"Manual Automower Commands","info":"","x":160,"y":180,"wires":[]},{"id":"4b439292.15fcec","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/Maehzeit/","topic":"tele/Automower/Maehzeit/","payload":"0F00380000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":176.00001525878906,"y":219.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"cd96cbd6.97e778","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/MVolt/","topic":"tele/Automower/MVolt/","payload":"0F01EB0000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"05","x":166.00001525878906,"y":259.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"e4e8dd8b.fda26","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/BatteryCapacity/","topic":"tele/Automower/BatteryCapacity/","payload":"0F00B10000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":196.00001525878906,"y":299.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"380c9b30.16fb14","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/TempBatterie/","topic":"tele/Automower/TempBatterie/","payload":"0F02330000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":186.00001525878906,"y":339.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"28b70be9.7d8f54","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/BatterieMV/","topic":"tele/Automower/BatterieMV/","payload":"0F2EF40000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":186.00001525878906,"y":379.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"939ffd06.b52b2","type":"inject","z":"cc15dff6.8f50c","name":"tele/Automower/LoopQuality500/","topic":"tele/Automower/LoopQuality500/","payload":"0F01B90000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":196.00001525878906,"y":419.0000057220459,"wires":[["9f888841.f5fb58"]]},{"id":"a48e3a94.0a0438","type":"inject","z":"cc15dff6.8f50c","name":"","topic":"tele/Automower/Zeit/","payload":"0F01F00000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":460,"wires":[["9f888841.f5fb58"]]},{"id":"5cd785d0.a1859c","type":"inject","z":"cc15dff6.8f50c","name":"Automower-Status","topic":"stat/Automower/Status/","payload":"0F01F10000","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":500,"wires":[["9f888841.f5fb58"]]},{"id":"fc99ba67.a6b078","type":"inject","z":"cc15dff6.8f50c","name":"W-Mode-Home","topic":"cmnd/Automower/W-Mode-Home/","payload":"0F812C0003","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":240,"y":540,"wires":[["9f888841.f5fb58"]]},{"id":"11c0bf64.0be0e1","type":"inject","z":"cc15dff6.8f50c","name":"W-Mode-Auto","topic":"cmnd/Automower/W-Mode-Auto/","payload":"0F812C0001","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":230,"y":580,"wires":[["9f888841.f5fb58"]]},{"id":"9f888841.f5fb58","type":"function","z":"cc15dff6.8f50c","name":"Load command into Hex converter","func":"hexload= msg.payload;\nmsg.payload = new Buffer(hexload,\"hex\");\nreturn msg;","outputs":1,"noerr":0,"x":660,"y":280,"wires":[["66ef9ff.9b5666","a792e7eb.718798"]]},{"id":"a792e7eb.718798","type":"debug","z":"cc15dff6.8f50c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":870,"y":220,"wires":[]},{"id":"caf18301.52ef3","type":"function","z":"cc15dff6.8f50c","name":"Calculate Answer // Hex must be reversed","func":"var t1 = msg.payload.toString('hex').substr(6, 2);\nvar t2 = msg.payload.toString('hex').substr(8, 2);\nmsg.payload = t2+t1;\n//msg.payload.data = Number(new Buffer(t2+t1));\nmsg.payload = msg.payload.split(' ').map(function(hex){ return parseInt(hex, 16); });\nreturn msg;","outputs":1,"noerr":0,"x":680,"y":340,"wires":[["bd0ec952.5ea438"]]},{"id":"66ef9ff.9b5666","type":"tcp request","z":"cc15dff6.8f50c","server":"192.168.20.220","port":"10001","out":"time","splitc":"600","name":"Send cmd to Automower and get Answer","x":1060,"y":280,"wires":[["caf18301.52ef3"]]},{"id":"bd0ec952.5ea438","type":"function","z":"cc15dff6.8f50c","name":"Answer converter to MQTT","func":"//split topic to check if it is CMND/STAT/TELE\nvar topic_type = msg.topic.slice(0,-1).split('/'); \n                            //slice (starting from, -1= all word or nubers for #char)\n\n//handle stat answers    \nif(topic_type[0] == \"stat\" ){\n    switch(parseInt(msg.payload))\n    {\n        case 6:     msg.payload = \"Linker Radmotor blockiert\";      break;\n        case 12:    msg.payload = \"Kein Schleifensignal\";           break;\n        case 16:    msg.payload = \"Ausserhalb\";                     break;            \n        case 18:    msg.payload = \"Niedrige Batteriespannung\";      break;    \n        case 26:    msg.payload = \"Ladestation blockiert\";          break;\n        case 34:    msg.payload = \"Mäher hochgehoben\";              break;\n        case 52:    msg.payload = \"Kein Kontakt zur Ladestation\";   break;\n        case 54:    msg.payload = \"Pin abgelaufen\";                 break;    \n        case 1000:  msg.payload = \"aus LS ausfahren\";               break;    \n        case 1002:  msg.payload = \"Mähen\";                          break;\n        case 1008:  msg.payload = \"Mähwerk gestartet\";              break;\n        case 1012:  msg.payload = \"Signal starte Mähwerk\";          break;\n        case 1014:  msg.payload = \"Laden\";                          break;\n        case 1016:  msg.payload = \"in LS wartend\";                  break;\n        case 1024:  msg.payload = \"aus LS einfahren\";               break;\n        case 1036:  msg.payload = \"Viereckmodus\";                   break;\n        case 1038:  msg.payload = \"Festgefahren\";                   break;\n        case 1040:  msg.payload = \"Kollision\";                      break;\n        case 1042:  msg.payload = \"Suchen\";                         break;\n        case 1044:  msg.payload = \"Stop\";                           break;\n        case 1048:  msg.payload = \"Andocken\";                       break;\n        case 1050:  msg.payload = \"aus LS ausfahren\";               break;\n        case 1052:  msg.payload = \"Yes druecken\";                   break;\n        case 1056:  msg.payload = \"Wartet (Modus Manuell/Home)\";    break;\n        case 1058:  msg.payload = \"Begrenzung folgen\";              break;\n        case 1060:  msg.payload = \"N-Signal gefunden\";              break;\n        case 1062:  msg.payload = \"Festgefahren\";                   break;\n        case 1064:  msg.payload = \"Suchen\";                         break;\n        case 1070:  msg.payload = \"Suchschleife folgen\";            break;\n        case 1072:  msg.payload = \"Schleife folgen\";                break;\n        //default:    msg.payload = \"unknown status\";\n    }       \n}\n\n//handle cmnd answers\nif(topic_type[0] == \"cmnd\"){\n    switch(parseInt(msg.payload))\n        {\n            case 1:     msg.payload = \"Befehl Auto bestätigt\";          break;\n            case 3:     msg.payload = \"Befehl Nachhause bestätigt\";     break;\n            default:    msg.payload = \"unknown command\";\n        }\n    topic_type[0] == \"stat\" // if not we get a loop\n}\n\n//handle tele answers    \nif(topic_type[0] == \"tele\"){\n        msg.payload = msg.payload[0];\n}\n\n// save global variable to know if the automower is home before we start water\nif (topic_type[0] == \"stat\" && topic_type[2] == \"Status\" ){\n    flow.set(\"MowerStatus\", msg.payload); \n}\n\n\n// create JSON MQTT MESSAGE\nvar new_msg = {};\nmyJson = {}; // create the JSON message\n    var objName = topic_type[2]; //identify the answer\n    var objValue = msg.payload;\n    myJson[\"Time\"] =  new Date().toISOString();\n    myJson[objName] = objValue;\n\nnew_msg.payload = myJson;  // load the message\n//new_msg.topic = msg.topic; // do not forget the topic\nnew_msg.topic =  topic_type[0]+\"/\"+topic_type[1]+\"/\"+topic_type[2]+\"/\"; // do not forget the topic\nreturn new_msg;            // send it out","outputs":1,"noerr":0,"x":1020,"y":340,"wires":[["a58e8fa5.3e6de","5cb0e868.42f5b8"]]},{"id":"a58e8fa5.3e6de","type":"mqtt out","z":"cc15dff6.8f50c","name":"Send MQTT","topic":"","qos":"","retain":"","broker":"3cac25a9.63c0da","x":1350,"y":340,"wires":[]},{"id":"5cb0e868.42f5b8","type":"debug","z":"cc15dff6.8f50c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1350,"y":400,"wires":[]},{"id":"3cac25a9.63c0da","type":"mqtt-broker","z":"","name":"OpenhabMQTT","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

re-vo-lution
Beiträge: 131
Registriert: 07.01.2018, 15:11
Wohnort: 08233 Treuen
Hat sich bedankt: 21 Mal
Danksagung erhalten: 8 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von re-vo-lution » 27.09.2019, 08:04

Ich habe da so eine Idee für die Zonenumschaltung. Könnte man dazu nicht die Stromversorgung eines Homematic-Relais bzw. eines selbstgebauten relais via Asksinpp über das Begrenzungskabel realsisieren? Leider kenn ich nich zu wenig aus mit den Strömen die im Begrenzungskabel fließt. Man könnte aber mit einer solchen Lösung überall eine Umsschaltung realisieren und ist frei von Batterieaktoren oder Stromkabel ziehen an entsprechende Stellen.
Vielleicht kennt sich da ja jemand aus udn kann dazu ein paar Tipps geben.

mfg

Rene

steisslinger
Beiträge: 5
Registriert: 25.11.2019, 07:54
System: CCU und Access Point
Hat sich bedankt: 1 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von steisslinger » 25.11.2019, 08:29

Hallo,
bei mir funktioniert die Kommunikation mit dem AM 220AC mit den Modulen USR-WIFI232-t oder USR-C215b.
Ich verwende openHAB und kommuniziere mit dem USR Wifi Modul per Python Script.
Gerne kann ich bei Bedarf den Python Aufruf für die Kommunikation zur Verfügung stellen.

Bisher habe ich nur einen Testaufbau.
Für einen festen Aufbau fehlt mit noch der Stecker JST ELP-04NV und die passenden
Crimp-Einsätze 4 x SLF-01T-P1.3E für den Anschluss an den Automower.

Hat zufällig noch jemand einen Stecker und Crimp-Einsätze herumliegen und
ist bereit zu verkaufen. Ich freue mich über Rückmeldung. Danke.

hueso@gmx.de
Beiträge: 1
Registriert: 16.02.2020, 14:07

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von hueso@gmx.de » 16.02.2020, 14:16

Hallo Mule,

kannst du mir ggf. Autockeck zukommenlassen. Hab meine Firmware gerade geschrotet und wollte die neu aufspielen.

LG

perez
Beiträge: 10
Registriert: 02.05.2020, 13:01
System: CCU

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von perez » 02.05.2020, 13:21

Hallo Homematic-Gemeinde,

habe mich an Automover-Steuerung über CCU1 und USR-Wifi-232t versucht. Komme aber irgendwie nicht weiter, habe aber alles nach Anleitung gemacht. Vielen Dank dafür.
Die CCU1-Zentrale ist für mich neu, habe sie lediglich für das Steuern von Automover besorgt. Meine Vermutung ist, dass bei der Zentrale noch irgendetwas übersehen wurde. Daemon steht auf inativ, wie kann ich es aktivieren? Vielen Dank für die Hilfe.
Bild
safe album
Zuletzt geändert von perez am 03.05.2020, 13:41, insgesamt 2-mal geändert.

perez
Beiträge: 10
Registriert: 02.05.2020, 13:01
System: CCU

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von perez » 03.05.2020, 13:41

Bild

Bin schon etwas weiter gekommen. Versuche über den Log jetzt mehr Infos zu bekommen. Für Tipps bin ich sehr dankbar!!

mule
Beiträge: 1168
Registriert: 06.07.2010, 00:24
Hat sich bedankt: 3 Mal
Danksagung erhalten: 35 Mal

Re: Automower (G2) über Homematic / WLAN steuern

Beitrag von mule » 03.05.2020, 17:41

Socat-Error bedeutet, das die Kommunikation mit dem Automower nicht funktioniert. Bitte Log erstellen (am besten gleich Debugmode 2) und hier anfügen. Ansonsten dumme Frage: Der Automower ist aber mit dem WLAN connected? Ansonsten: Um welchen Automower handelt es sich?

Edit: Bitte füge mir zusätzlich noch das von Dir genutzte Automower-Addon bei, da ich gerade gesehen habe, das ich die alten Versionen, die zur CCU1 kompatibel sind, gar nicht mehr habe.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483

Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“