ich empfehle Dir dich mit mqtt auseinderzusetzen.
Hier : https://forum.robonect.de/viewtopic.php?f=10&t=1740 findest Du die Topics dazu.
Das ganze ist eigentlich kein Hexenwerk.
- Server in IPS einrichten
- Server + Topic in Robonocht eintragen.
Die Status Topics werden dann im MQTT Konifugrator angezeigt und DU kanst direkt die Variablen erstellen lassen.
Um befehle zu senden musst Du zwei Device erstellen.
Für setzen von Start und Stop eine mit dem Thema /control
Für Setzen des Modus eine mit dem Thema /control/mode
ich habe mir dann ein entsprechendes Script geschrieben um aus dem Webfront den Mäher zu steuern:
<?php
$varid = IPS_GetParent($_IPS['SELF']);
$control=54279;
$mode=36231;
if ($_IPS['SENDER'] == 'Execute')
{
exit(0);
}
if ($_IPS['SENDER'] == 'WebFront')
{
switch ($_IPS['VALUE'])
{
case 0:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
IPS_SetScriptTimer($_IPS['SELF'], 0); // Timer deaktivieren
break;
case 1:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($control, 'start'); // Mower Start
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer auf 5 Sekunden
break;
case 2:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($control, 'stop'); // Mower Stop
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer nochma auf 5 Sekunden
break;
case 3:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($mode, 'home'); // Mäher zurück in die Ladestation
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer nochma auf 5 Sekunden
break;
case 4:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($mode, 'auto'); // Auto-Modus, mähen nach Zeitplan
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer nochma auf 5 Sekunden
break;
case 5:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($mode, 'eod'); // Mäher zurück in die Ladestation, Morgen dann wieder nach Zeitplan
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer nochma auf 5 Sekunden
break;
case 6:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
RequestAction($mode, 'man'); // Mäher fährt vors Haus, manueller Start bis Acku leer
IPS_SetScriptTimer($_IPS['SELF'], 5); // Timer nochma auf 5 Sekunden
break;
}
}
if ($_IPS['SENDER'] == 'TimerEvent')
{
SetValueInteger($varid, 0);
IPS_SetScriptTimer($_IPS['SELF'], 0); // Timer deaktivieren
}
Da Du nur start und stop senden kannst musst Du dann für die Zeiträume ( 1h, 2h usw ) mit den Timern für Symcon arbeiten.
also zum start dann
RequestAction($control, 'start');
und um zurückzufahren dann
RequestAction($mode, 'home');
Ich persönlich lasse den Mäher autark laufen und nutze fast nur die Statusanzeigen.
Mit dem Senden über Json habe ich keine guten Erfahrungen, wenn der Mäher während der Abfrage das Wlan Signal verliert
hängen die PHP Threads, mit einer der Gründe warum mein Mäher von Worx mein Grundstück verlassen musste.
Hier kannst Du mal sehen, wieweit ich aktuell bin:
https://www.symcon.de/forum/threads/43661-MQTT-und-Robonect?p=427371#post427371
Loerdy