Homematic für Dummies
Moderator: Lampi
Re: Homematic für Dummies
Hi Tobi
Also wenn ich Dein script bei Script testen eingebe erhallte ich keine Antwort...( Benutzer angepasst...)
Nein ich verwende keine Macros
Abgestürtzt ist Sie sobald ich ein Prog geschrieben habe um das Script auszuführen
Sobald das Prog ausgeführt wird ( das erste MAl nach dem abspeichern ) schmierte CCU 2 ab
Nun ja jetzt geht es ...
Danke trotzdem
Also wenn ich Dein script bei Script testen eingebe erhallte ich keine Antwort...( Benutzer angepasst...)
Nein ich verwende keine Macros
Abgestürtzt ist Sie sobald ich ein Prog geschrieben habe um das Script auszuführen
Sobald das Prog ausgeführt wird ( das erste MAl nach dem abspeichern ) schmierte CCU 2 ab
Nun ja jetzt geht es ...
Danke trotzdem
-
- erfahrener Forum-Nutzer
- Beiträge: 60
- Registriert: So 31. Jul 2016, 17:05
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2012
- Robonect-Modul: Robonect H30x (Rev.0)
- Robonect Firmware: 1.0 Beta 2
Re: Homematic für Dummies
Makro = Programm
(Ich meine das gleiche.)
Beim speichern wird das Programm automatisch 1x ausgeführt.
Mit Bedingungen meine ich unter Programme den "wenn" Teil.
Sollten dort nur Bedingungen zu "Zeitpunkten" sein, wird das Programm sehr wahrscheinlich bei jedem Booten automatisch gestartet was im Fehlerfall zum Dauerbooten führt. Poste doch mal Deinen Screenshot vom Programm.
Gruß, Tobias.
(Ich meine das gleiche.)
Beim speichern wird das Programm automatisch 1x ausgeführt.
Mit Bedingungen meine ich unter Programme den "wenn" Teil.
Sollten dort nur Bedingungen zu "Zeitpunkten" sein, wird das Programm sehr wahrscheinlich bei jedem Booten automatisch gestartet was im Fehlerfall zum Dauerbooten führt. Poste doch mal Deinen Screenshot vom Programm.
Gruß, Tobias.
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
Re: Homematic für Dummies
So jetzt ist es wieder soweit...
Pünktlich wenn die Abfrage " periodisch Tagsüber " greifen sollte schmiert die CCU ab
Das abfrage String greift nur bedingt. Teils geht es teils nicht .
Habe es per Zufall gestern abend gemerkt CCU ist beim probieren abgeschmiert ... kein Backup möglich wegen loop.. 2h später gings ( da dann Nachtmodus war und das Prog nicht greifen musste )
Heute Morgen gewartet... 0625 = Sonnenaufgang = CCU 2 Web IF tod CCU nicht bereit
Komisch ist, dass ich beim Script testen ab und zu die Antwort bekomme ....
Ich denke es hängt wirklich mit Benutzer und PW zusammen je nachdem wie schnell oder eben nicht die Antwort kommt hängt sich das script auf
Versuche CCU wieder zum laufen zu bringen... ohne Internet oder damit Zeit nicht gestellt wird... sonst Loop
Pünktlich wenn die Abfrage " periodisch Tagsüber " greifen sollte schmiert die CCU ab
Das abfrage String greift nur bedingt. Teils geht es teils nicht .
Habe es per Zufall gestern abend gemerkt CCU ist beim probieren abgeschmiert ... kein Backup möglich wegen loop.. 2h später gings ( da dann Nachtmodus war und das Prog nicht greifen musste )
Heute Morgen gewartet... 0625 = Sonnenaufgang = CCU 2 Web IF tod CCU nicht bereit
Komisch ist, dass ich beim Script testen ab und zu die Antwort bekomme ....
Ich denke es hängt wirklich mit Benutzer und PW zusammen je nachdem wie schnell oder eben nicht die Antwort kommt hängt sich das script auf
Versuche CCU wieder zum laufen zu bringen... ohne Internet oder damit Zeit nicht gestellt wird... sonst Loop
-
- erfahrener Forum-Nutzer
- Beiträge: 60
- Registriert: So 31. Jul 2016, 17:05
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2012
- Robonect-Modul: Robonect H30x (Rev.0)
- Robonect Firmware: 1.0 Beta 2
Re: Homematic für Dummies
Ein Trick, bei so heiklen Skripts ist es, diese nicht sofort sondern mit "verzögert um 2 min." auszuführen. So hast du zum Beispiel mindestens 2 Minuten Zeit es zu deaktivieren, bevor es wieder ausgeführt wird.
Im Homematicforum ist auch beschrieben, wie man eine Systemvariable nach dem booten setzt so dass erst danach Programme ausgeführt werden.
Die CCU stürzt ab, wenn Du Zeichen in eine Variable vom Typ Zahl oder Liste usw schreibst. Prüfe mal ob alle Variablen vom richtigen Typ angelegt sind und auch ohne Rechtschreibfehler existieren.
Im Homematicforum ist auch beschrieben, wie man eine Systemvariable nach dem booten setzt so dass erst danach Programme ausgeführt werden.
Die CCU stürzt ab, wenn Du Zeichen in eine Variable vom Typ Zahl oder Liste usw schreibst. Prüfe mal ob alle Variablen vom richtigen Typ angelegt sind und auch ohne Rechtschreibfehler existieren.
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
-
- erfahrener Forum-Nutzer
- Beiträge: 60
- Registriert: So 31. Jul 2016, 17:05
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2012
- Robonect-Modul: Robonect H30x (Rev.0)
- Robonect Firmware: 1.0 Beta 2
Re: Homematic für Dummies
Mit welchem Intervall rufst Du das Skript auf? Kleiner 5 min kann Probleme machen... Dann wird es u.U. Aufgerufen bevor es durchgelaufen ist. Manchmal antwortet das Modul nicht oder sehr langsam. Mit 1 min. gab es bei mir auch Probleme.
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
Re: Homematic für Dummies
Bin drann . es wird immer schlimmer. Prog konnte ich ausschalten
http://IP.DEINER.EIGENEN.CCU:8181/alchy ... ject("Name des HM Programmes").Active(false);
dank Alchy
Egal welches Backup ich verwende HM Web stürzt nach ca 2 min ab...
Mache zz downgrade
Nach kaltstart ist sie da und scheint auch wieder ok zu sein.. Nur habe ich nicht nur 1 Aktor . dh der Aufwand alles neu zu prog ist zu gross
So 2.19.9 wieder drauf und äteres Backup .HM wieder Stabil
Richte wieder Cuxd ein und Variablen lasse mal alles auf dieser sw laufen
http://IP.DEINER.EIGENEN.CCU:8181/alchy ... ject("Name des HM Programmes").Active(false);
dank Alchy
Egal welches Backup ich verwende HM Web stürzt nach ca 2 min ab...
Mache zz downgrade
Nach kaltstart ist sie da und scheint auch wieder ok zu sein.. Nur habe ich nicht nur 1 Aktor . dh der Aufwand alles neu zu prog ist zu gross
So 2.19.9 wieder drauf und äteres Backup .HM wieder Stabil
Richte wieder Cuxd ein und Variablen lasse mal alles auf dieser sw laufen
-
- erfahrener Forum-Nutzer
- Beiträge: 60
- Registriert: So 31. Jul 2016, 17:05
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2012
- Robonect-Modul: Robonect H30x (Rev.0)
- Robonect Firmware: 1.0 Beta 2
Re: Homematic für Dummies
Kannst auch über Cuxd im abgesicherten Modus starten. Dann sollten die Programme nicht ausgeführt werden.
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
Re: Homematic für Dummies
wollte ich auch aber ohne Erfolg . CUXD wurde nicht richtig gestartet.; keien Verbidung zur CCU; keine Geräte in Anzeige...
Krass ist es wenn ich das script Testen will und eine Syntax nicht stimmt
Dann schmiert Sie ab und die letzten Änderungen wurden nicht übernommen
= "Config save" wird nicht ausgeführt
Krass ist es wenn ich das script Testen will und eine Syntax nicht stimmt
Dann schmiert Sie ab und die letzten Änderungen wurden nicht übernommen
= "Config save" wird nicht ausgeführt
Re: Homematic für Dummies
Das Prob liegt an der Abfrage ....
Sript mit User und PW bringt die HM zum erligen ( unter Homematic Einbindung hat Dirk das selbe Problem)
Jedoch zum ausführen eines Befehles braucht es User und PW
Mit dem stirbt die HM
var url = "http://192.168.8.85/json?&cmd=status";
dom.GetObject("CUxD.CUX2801008:1.CMD_SETS").State("wget --user=xx --password=Mein PW -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801008:1.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801008:1.CMD_RETS").State();
!WriteLine("URL:'"#url#"' abrufen");
WriteLine("Rückgabestring: >"#stdout#"<");
!********Mähroboter Status abfragen***********
pos=0;
posStart = '{"Status": ';
posEnd = ', "mode';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Status");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Status').State("schläft");}
if (substring == 1) {dom.GetObject('Mähroboter-Status').State("parkt");}
if (substring == 2) {dom.GetObject('Mähroboter-Status').State("mäht");}
if (substring == 3) {dom.GetObject('Mähroboter-Status').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('Mähroboter-Status').State("lädt auf");}
if (substring == 5) {dom.GetObject('Mähroboter-Status').State("sucht");}
if (substring == 7) {dom.GetObject('Mähroboter-Status').State("Fehler!");}
dom.GetObject("CUxD.CUX2801008:1.LOGIT").State("Mähroboter-Status;"#substring.ToString(1));
WriteLine("Status ende!");
}
else
{
dom.GetObject('Mähroboter-Status').State('Variable nicht gesetzt');
}
!********Mähroboter Status abfragen ENDE***********
!********Mähroboter Modus abfragen***********
pos=0;
posStart = '"mode": ';
posEnd = ', "batt';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Modus");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Modus').State("Auto");}
if (substring == 1) {dom.GetObject('Mähroboter-Modus').State("Manu");}
if (substring == 2) {dom.GetObject('Mähroboter-Modus').State("home");}
if (substring == 3) {dom.GetObject('Mähroboter-Modus').State("Demo");}
WriteLine("Modus ende!");
}
else
{
dom.GetObject('Mähroboter-Modus').State('Variable nicht gesetzt');
}
!********Mähroboter Modus abfragen ENDE***********
!********Mähroboter Batterie abfragen***********
pos=0;
posStart = '"battery": ';
posEnd = ', "';
pos = stdout.Find(posStart) + posStart.Length();
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
batt=substring;
substring =substring + '%';
if(stdout.Find(posStart)>0)
{
WriteLine("Battery");
WriteLine(substring);
dom.GetObject('Mähroboter-Battery').State(substring.ToString(1));
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Mähroboter-Battery;"#batt.ToString(1));
WriteLine("Batterie ende!");
}
else
{
dom.GetObject('Mähroboter-Battery').State('Variable nicht gesetzt');
}
!********Mähroboter Batterie abfragen ENDE***********
!********Mähroboter Laufzeit abfragen***********
pos=0;
posStart = '"hours": ';
posEnd = '}';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
substring =substring + 'h';
WriteLine("Laufzeit");
WriteLine(substring);
dom.GetObject('Mähroboter-Laufzeit').State(substring.ToString(1));
WriteLine("Laufzeit ende!");
}
else
{
dom.GetObject('Mähroboter-Laufzeit').State('Variable nicht gesetzt');
}
!********Mähroboter Laufzeit abfragen ENDE***********
!********Mähroboter Status abfragen***********
pos=0;
posStart = '"Timer": {"Status": ';
posEnd = ',';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;
WriteLine("Timer Status");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Timer-Status').State("Deaktiviert");}
if (substring == 1) {dom.GetObject('Mähroboter-Timer-Status').State("Aktiv");}
if (substring == 2) {dom.GetObject('Mähroboter-Timer-Status').State("Standby");}
WriteLine("Timer Status ende!");
}
else
{
dom.GetObject('Mähroboter-Timer-Status').State('Variable nicht gesetzt');
}
!********Mähroboter Status abfragen ENDE***********
!********Mähroboter Mähtag abfragen***********
pos=0;
posStart = '"next": {"date": "';
posEnd = '", "time":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Tag");
WriteLine(substring);
dom.GetObject('Mähroboter-Mähtag').State(substring.ToString(1));
WriteLine("Tag ende!");
}
else
{
dom.GetObject('Mähroboter-Mähtag').State('Variable nicht gesetzt');
}
!********Mähroboter Mähtag abfragen ENDE***********
!********Mähroboter Mähzeit abfragen***********
pos=0;
posStart = '"time": "';
posEnd = '", "unix":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 8).StrValueByIndex(posEnd, 0) ;
WriteLine("Zeit");
WriteLine(substring);
dom.GetObject('Mähroboter-Mähzeit').State(substring.ToString(1));
WriteLine("Mähzeit ende!");
}
else
{
dom.GetObject('Mähroboter-Mähzeit').State('Variable nicht gesetzt');
}
!********Mähroboter Mähzeit abfragen ENDE***********
!********Mähroboter Fehlermeldung abfragen***********
pos=0;
posStart = '"error_message": "';
posEnd = '", "date"';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 8).StrValueByIndex(posEnd, 0) ;
WriteLine("Error");
WriteLine(substring);
dom.GetObject('Mähroboter-Fehlermeldung').State(substring.ToString(1));
WriteLine("Error Ende!");
}
else
{
dom.GetObject('Mähroboter-Fehlermeldung').State('Variable nicht gesetzt');
}
!********Mähroboter Fehlermeldung abfragen ENDE***********
!********Mähroboter LastSyncTime schreiben***********
dom.GetObject('Mähroboter-LastSync').State(system.Date("%d.%m.%Y %H:%M:%S"));
!********Mähroboter LastSyncTime schreiben***********
Sript mit User und PW bringt die HM zum erligen ( unter Homematic Einbindung hat Dirk das selbe Problem)
Jedoch zum ausführen eines Befehles braucht es User und PW
Mit dem stirbt die HM
var url = "http://192.168.8.85/json?&cmd=status";
dom.GetObject("CUxD.CUX2801008:1.CMD_SETS").State("wget --user=xx --password=Mein PW -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801008:1.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801008:1.CMD_RETS").State();
!WriteLine("URL:'"#url#"' abrufen");
WriteLine("Rückgabestring: >"#stdout#"<");
!********Mähroboter Status abfragen***********
pos=0;
posStart = '{"Status": ';
posEnd = ', "mode';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Status");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Status').State("schläft");}
if (substring == 1) {dom.GetObject('Mähroboter-Status').State("parkt");}
if (substring == 2) {dom.GetObject('Mähroboter-Status').State("mäht");}
if (substring == 3) {dom.GetObject('Mähroboter-Status').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('Mähroboter-Status').State("lädt auf");}
if (substring == 5) {dom.GetObject('Mähroboter-Status').State("sucht");}
if (substring == 7) {dom.GetObject('Mähroboter-Status').State("Fehler!");}
dom.GetObject("CUxD.CUX2801008:1.LOGIT").State("Mähroboter-Status;"#substring.ToString(1));
WriteLine("Status ende!");
}
else
{
dom.GetObject('Mähroboter-Status').State('Variable nicht gesetzt');
}
!********Mähroboter Status abfragen ENDE***********
!********Mähroboter Modus abfragen***********
pos=0;
posStart = '"mode": ';
posEnd = ', "batt';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Modus");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Modus').State("Auto");}
if (substring == 1) {dom.GetObject('Mähroboter-Modus').State("Manu");}
if (substring == 2) {dom.GetObject('Mähroboter-Modus').State("home");}
if (substring == 3) {dom.GetObject('Mähroboter-Modus').State("Demo");}
WriteLine("Modus ende!");
}
else
{
dom.GetObject('Mähroboter-Modus').State('Variable nicht gesetzt');
}
!********Mähroboter Modus abfragen ENDE***********
!********Mähroboter Batterie abfragen***********
pos=0;
posStart = '"battery": ';
posEnd = ', "';
pos = stdout.Find(posStart) + posStart.Length();
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
batt=substring;
substring =substring + '%';
if(stdout.Find(posStart)>0)
{
WriteLine("Battery");
WriteLine(substring);
dom.GetObject('Mähroboter-Battery').State(substring.ToString(1));
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Mähroboter-Battery;"#batt.ToString(1));
WriteLine("Batterie ende!");
}
else
{
dom.GetObject('Mähroboter-Battery').State('Variable nicht gesetzt');
}
!********Mähroboter Batterie abfragen ENDE***********
!********Mähroboter Laufzeit abfragen***********
pos=0;
posStart = '"hours": ';
posEnd = '}';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
substring =substring + 'h';
WriteLine("Laufzeit");
WriteLine(substring);
dom.GetObject('Mähroboter-Laufzeit').State(substring.ToString(1));
WriteLine("Laufzeit ende!");
}
else
{
dom.GetObject('Mähroboter-Laufzeit').State('Variable nicht gesetzt');
}
!********Mähroboter Laufzeit abfragen ENDE***********
!********Mähroboter Status abfragen***********
pos=0;
posStart = '"Timer": {"Status": ';
posEnd = ',';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;
WriteLine("Timer Status");
WriteLine(substring);
if (substring == 0) {dom.GetObject('Mähroboter-Timer-Status').State("Deaktiviert");}
if (substring == 1) {dom.GetObject('Mähroboter-Timer-Status').State("Aktiv");}
if (substring == 2) {dom.GetObject('Mähroboter-Timer-Status').State("Standby");}
WriteLine("Timer Status ende!");
}
else
{
dom.GetObject('Mähroboter-Timer-Status').State('Variable nicht gesetzt');
}
!********Mähroboter Status abfragen ENDE***********
!********Mähroboter Mähtag abfragen***********
pos=0;
posStart = '"next": {"date": "';
posEnd = '", "time":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;
WriteLine("Tag");
WriteLine(substring);
dom.GetObject('Mähroboter-Mähtag').State(substring.ToString(1));
WriteLine("Tag ende!");
}
else
{
dom.GetObject('Mähroboter-Mähtag').State('Variable nicht gesetzt');
}
!********Mähroboter Mähtag abfragen ENDE***********
!********Mähroboter Mähzeit abfragen***********
pos=0;
posStart = '"time": "';
posEnd = '", "unix":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 8).StrValueByIndex(posEnd, 0) ;
WriteLine("Zeit");
WriteLine(substring);
dom.GetObject('Mähroboter-Mähzeit').State(substring.ToString(1));
WriteLine("Mähzeit ende!");
}
else
{
dom.GetObject('Mähroboter-Mähzeit').State('Variable nicht gesetzt');
}
!********Mähroboter Mähzeit abfragen ENDE***********
!********Mähroboter Fehlermeldung abfragen***********
pos=0;
posStart = '"error_message": "';
posEnd = '", "date"';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
!WriteLine("pos");
!WriteLine(pos);
substring = stdout.Substr(pos, 8).StrValueByIndex(posEnd, 0) ;
WriteLine("Error");
WriteLine(substring);
dom.GetObject('Mähroboter-Fehlermeldung').State(substring.ToString(1));
WriteLine("Error Ende!");
}
else
{
dom.GetObject('Mähroboter-Fehlermeldung').State('Variable nicht gesetzt');
}
!********Mähroboter Fehlermeldung abfragen ENDE***********
!********Mähroboter LastSyncTime schreiben***********
dom.GetObject('Mähroboter-LastSync').State(system.Date("%d.%m.%Y %H:%M:%S"));
!********Mähroboter LastSyncTime schreiben***********