Aufgrund derzeit hohem Spamaufkommens werden neue Nutzer sehr restriktiv behandelt. Nach kurzer "Bewährungszeit" hat man als normaler Nutzer weitreichende Rechte und benötigt auch kein Captcha mehr.
.
Nutzer, die sich danach dennoch als Spammer oder Trolle erweisen, können jederzeit wieder auf diesen Status zurückgesetzt oder gebannt werden.
Dasselbe gilt für Versuche, politische Überzeugungen kund zu tun, egal aus welcher Richtung diese kommen.
.
. Achtung! Verwendet bitte für aktuelle Mäher bzw. falls ihr die Firmware eures Mähers kürzlich aktualisiert habt, den aktuellen Release-Candidate der Robonect-Firmware: https://fw.robonect.de/?latest Diese wird in ein paar Tagen als offizielle Firmware verfügbar sein. (Stand: 03.04.2024)
Homematic für Dummies
Moderator: Lampi
-
- 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
Naja, das wäre kein Bug sondern ein Feature. Dadurch wird dann auch das fehlerhafte Skript nicht gespeichert und in Endlosschleife ausgeführt
Cuxd muss nicht "normal" starten um den abgesicherten Modus wählen zu können. Die Einfachseite die stattdessen kommt bietet eigentlich auch diese Funktion. Irgendwie müsste man die CCU auch ohne Cuxd in den abgesicherten Modus booten können. Da meine CCU allerdings trotz 500 Kanälen und 13.000 Zeilen Code (hauptsächlich in HP) noch nie derart abgeschmiert ist, habe ich den "Affengriff" grad nicht parat.
Hast Du die anderen Tipps (Sysvar Typen, Schreibweise und Ausführungsintervall) geprüft?
Cuxd muss nicht "normal" starten um den abgesicherten Modus wählen zu können. Die Einfachseite die stattdessen kommt bietet eigentlich auch diese Funktion. Irgendwie müsste man die CCU auch ohne Cuxd in den abgesicherten Modus booten können. Da meine CCU allerdings trotz 500 Kanälen und 13.000 Zeilen Code (hauptsächlich in HP) noch nie derart abgeschmiert ist, habe ich den "Affengriff" grad nicht parat.
Hast Du die anderen Tipps (Sysvar Typen, Schreibweise und Ausführungsintervall) geprüft?
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
- Sprite01
- Forum-Nutzer
- Beiträge: 41
- Registriert: Do 17. Mär 2016, 14:09
- Wohnort: Sachsen-Anhalt
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect H30x (Rev.2)
- Robonect Firmware: 1.0
- hat sich bedankt: 2 Male
- Kontaktdaten:
Re: Homematic für Dummies
Ich mache bei mir ja nur eine Statusabfrage ohne Steuerung des R40Li.regalboot hat geschrieben: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
Aber auch hier ist es so, ohne User/Passwort läuft es.
Mit User/Passwort hängt die CCU2.
Allerdings habe ich meine CCU2 diese Woche nur mit "Strom weg" wieder beleben können,
dann schnell User/Passwort in Robonect und CCU-Script entfernt und seit dem läuft es stabil.
Auch wenn auch nicht alle Variablen befüllt werden. (Mit R40Li-Farbton lasse ich mir per noch zusätzlich als Farbe anzeigen ob aktiv, lädt oder schläft.)
--------
Gruß
Dirk
Gardena R40Li; MSW: 5.01.00 (10-10-2014); SUB: 5.00.00; MMI: 5.05.00
Gruß
Dirk
Gardena R40Li; MSW: 5.01.00 (10-10-2014); SUB: 5.00.00; MMI: 5.05.00
Re: Homematic für Dummies
Nach x maligen reboot gestern und probieren habe ich nun folgendes Script in Verwenung inkl Benutzer und PW
und gut ist jetzt
string Url='http://192.168.8.85/json?user=MEIN USER&pass=MEIN PASSWORT&cmd=Status';
!Folgende Systemvariablen sind in Homematic anzulegen
!R40Li-Status
!R40Li-Modus
!R40Li-Battery
!R40Li-Laufzeit
!R40Li-Timer-Status
!R40Li-Maehtag
!R40Li-Maehzeit
!R40Li-Fehlermeldung
!R40Li-LastSync
var stdout="";
var posStart;
var posEnd;
var substring;
var batt;
string stderr;
string stdout;
string pos;
!WriteLine("strings gesetzt");
dom.GetObject("CUxD.CUX2801003:1.CMD_SETS").State("wget -q -O - '"#Url#"'");
dom.GetObject("CUxD.CUX2801003:1.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801003:1.CMD_RETS").State();
!WriteLine("Abrufen");
!WriteLine(stdout);
!********R40Li 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('R40Li-Status').State("schlaeft");}
if (substring == 1) {dom.GetObject('R40Li-Status').State("parkt");}
if (substring == 2) {dom.GetObject('R40Li-Status').State("maeht");}
if (substring == 3) {dom.GetObject('R40Li-Status').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('R40Li-Status').State("laedt auf");}
if (substring == 5) {dom.GetObject('R40Li-Status').State("sucht");}
if (substring == 7) {dom.GetObject('R40Li-Status').State("Fehler!");}
dom.GetObject("CUxD.CUX2801003:1.LOGIT").State("R40Li-Status;"#substring.ToString(1));
!WriteLine("Status ende!");
}
else
{
dom.GetObject('R40Li-Status').State('Variable nicht gesetzt');
}
!********R40Li Status abfragen ENDE***********
!********R40Li 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('R40Li-Modus').State("Auto");}
if (substring == 1) {dom.GetObject('R40Li-Modus').State("Manu");}
if (substring == 2) {dom.GetObject('R40Li-Modus').State("home");}
if (substring == 3) {dom.GetObject('R40Li-Modus').State("Demo");}
!WriteLine("Modus ende!");
}
else
{
dom.GetObject('R40Li-Modus').State('Variable nicht gesetzt');
}
!********R40Li Modus abfragen ENDE***********
!********R40Li 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('R40Li-Battery').State(substring.ToString(1));
dom.GetObject("CUxD.CUX2801003:1.LOGIT").State("R40Li-Battery;"#batt.ToString(1));
!WriteLine("Batterie ende!");
}
else
{
dom.GetObject('R40Li-Battery').State('Variable nicht gesetzt');
}
!********R40Li Batterie abfragen ENDE***********
!********R40Li 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('R40Li-Laufzeit').State(substring.ToString(1));
!WriteLine("Laufzeit ende!");
}
else
{
dom.GetObject('R40Li-Laufzeit').State('Variable nicht gesetzt');
}
!********R40Li Laufzeit abfragen ENDE***********
!********R40Li 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('R40Li-Timer-Status').State("Deaktiviert");}
if (substring == 1) {dom.GetObject('R40Li-Timer-Status').State("Aktiv");}
if (substring == 2) {dom.GetObject('R40Li-Timer-Status').State("Standby");}
!WriteLine("Timer Status ende!");
}
else
{
dom.GetObject('R40Li-Timer-Status').State('Variable nicht gesetzt');
}
!********R40Li Status abfragen ENDE***********
!********R40Li Maehtag 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('R40Li-Maehtag').State(substring.ToString(1));
!WriteLine("Tag ende!");
}
else
{
dom.GetObject('R40Li-Maehtag').State('Variable nicht gesetzt');
}
!********R40Li Maehtag abfragen ENDE***********
!********R40Li Maehzeit 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('R40Li-Maehzeit').State(substring.ToString(1));
!WriteLine("Maehzeit ende!");
}
else
{
dom.GetObject('R40Li-Maehzeit').State('Variable nicht gesetzt');
}
!********R40Li Maehzeit abfragen ENDE***********
!********R40Li 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('R40Li-Fehlermeldung').State(substring.ToString(1));
!WriteLine("Error Ende!");
}
else
{
dom.GetObject('R40Li-Fehlermeldung').State('Variable nicht gesetzt');
}
!********R40Li Fehlermeldung abfragen ENDE***********
!********R40Li LastSyncTime schreiben***********
dom.GetObject('R40Li-LastSync').State(system.Date("%d.%m.%Y %H:%M:%S"));
!********R40Li LastSyncTime schreiben***********
und gut ist jetzt
string Url='http://192.168.8.85/json?user=MEIN USER&pass=MEIN PASSWORT&cmd=Status';
!Folgende Systemvariablen sind in Homematic anzulegen
!R40Li-Status
!R40Li-Modus
!R40Li-Battery
!R40Li-Laufzeit
!R40Li-Timer-Status
!R40Li-Maehtag
!R40Li-Maehzeit
!R40Li-Fehlermeldung
!R40Li-LastSync
var stdout="";
var posStart;
var posEnd;
var substring;
var batt;
string stderr;
string stdout;
string pos;
!WriteLine("strings gesetzt");
dom.GetObject("CUxD.CUX2801003:1.CMD_SETS").State("wget -q -O - '"#Url#"'");
dom.GetObject("CUxD.CUX2801003:1.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801003:1.CMD_RETS").State();
!WriteLine("Abrufen");
!WriteLine(stdout);
!********R40Li 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('R40Li-Status').State("schlaeft");}
if (substring == 1) {dom.GetObject('R40Li-Status').State("parkt");}
if (substring == 2) {dom.GetObject('R40Li-Status').State("maeht");}
if (substring == 3) {dom.GetObject('R40Li-Status').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('R40Li-Status').State("laedt auf");}
if (substring == 5) {dom.GetObject('R40Li-Status').State("sucht");}
if (substring == 7) {dom.GetObject('R40Li-Status').State("Fehler!");}
dom.GetObject("CUxD.CUX2801003:1.LOGIT").State("R40Li-Status;"#substring.ToString(1));
!WriteLine("Status ende!");
}
else
{
dom.GetObject('R40Li-Status').State('Variable nicht gesetzt');
}
!********R40Li Status abfragen ENDE***********
!********R40Li 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('R40Li-Modus').State("Auto");}
if (substring == 1) {dom.GetObject('R40Li-Modus').State("Manu");}
if (substring == 2) {dom.GetObject('R40Li-Modus').State("home");}
if (substring == 3) {dom.GetObject('R40Li-Modus').State("Demo");}
!WriteLine("Modus ende!");
}
else
{
dom.GetObject('R40Li-Modus').State('Variable nicht gesetzt');
}
!********R40Li Modus abfragen ENDE***********
!********R40Li 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('R40Li-Battery').State(substring.ToString(1));
dom.GetObject("CUxD.CUX2801003:1.LOGIT").State("R40Li-Battery;"#batt.ToString(1));
!WriteLine("Batterie ende!");
}
else
{
dom.GetObject('R40Li-Battery').State('Variable nicht gesetzt');
}
!********R40Li Batterie abfragen ENDE***********
!********R40Li 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('R40Li-Laufzeit').State(substring.ToString(1));
!WriteLine("Laufzeit ende!");
}
else
{
dom.GetObject('R40Li-Laufzeit').State('Variable nicht gesetzt');
}
!********R40Li Laufzeit abfragen ENDE***********
!********R40Li 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('R40Li-Timer-Status').State("Deaktiviert");}
if (substring == 1) {dom.GetObject('R40Li-Timer-Status').State("Aktiv");}
if (substring == 2) {dom.GetObject('R40Li-Timer-Status').State("Standby");}
!WriteLine("Timer Status ende!");
}
else
{
dom.GetObject('R40Li-Timer-Status').State('Variable nicht gesetzt');
}
!********R40Li Status abfragen ENDE***********
!********R40Li Maehtag 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('R40Li-Maehtag').State(substring.ToString(1));
!WriteLine("Tag ende!");
}
else
{
dom.GetObject('R40Li-Maehtag').State('Variable nicht gesetzt');
}
!********R40Li Maehtag abfragen ENDE***********
!********R40Li Maehzeit 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('R40Li-Maehzeit').State(substring.ToString(1));
!WriteLine("Maehzeit ende!");
}
else
{
dom.GetObject('R40Li-Maehzeit').State('Variable nicht gesetzt');
}
!********R40Li Maehzeit abfragen ENDE***********
!********R40Li 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('R40Li-Fehlermeldung').State(substring.ToString(1));
!WriteLine("Error Ende!");
}
else
{
dom.GetObject('R40Li-Fehlermeldung').State('Variable nicht gesetzt');
}
!********R40Li Fehlermeldung abfragen ENDE***********
!********R40Li LastSyncTime schreiben***********
dom.GetObject('R40Li-LastSync').State(system.Date("%d.%m.%Y %H:%M:%S"));
!********R40Li LastSyncTime schreiben***********
- Sprite01
- Forum-Nutzer
- Beiträge: 41
- Registriert: Do 17. Mär 2016, 14:09
- Wohnort: Sachsen-Anhalt
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect H30x (Rev.2)
- Robonect Firmware: 1.0
- hat sich bedankt: 2 Male
- Kontaktdaten:
Re: Homematic für Dummies
Geht bei euch mit dem Firmwareupdate auf die V.08 RC9 auch der Status nicht mehr ?
Zumindest bei mir wird er nicht mehr aktualisiert.
Nachtrag:
Hier haben sich wohl die Zahlen geändert ...
Zumindest bei mir wird er nicht mehr aktualisiert.
Nachtrag:
Hier haben sich wohl die Zahlen geändert ...
Code: Alles auswählen
if (substring == 0) {dom.GetObject('R40Li-Status').State("schlaeft");}
if (substring == 1) {dom.GetObject('R40Li-Status').State("parkt");}
if (substring == 2) {dom.GetObject('R40Li-Status').State("maeht");}
if (substring == 3) {dom.GetObject('R40Li-Status').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('R40Li-Status').State("laedt auf");}
if (substring == 5) {dom.GetObject('R40Li-Status').State("sucht");}
if (substring == 7) {dom.GetObject('R40Li-Status').State("Fehler!");}
--------
Gruß
Dirk
Gardena R40Li; MSW: 5.01.00 (10-10-2014); SUB: 5.00.00; MMI: 5.05.00
Gruß
Dirk
Gardena R40Li; MSW: 5.01.00 (10-10-2014); SUB: 5.00.00; MMI: 5.05.00
-
- 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
Schlafen ist jetzt auf 16 oder 17 statt 0.
Bei mir läuft es mit der neuen Version auch.
Bei mir läuft es mit der neuen Version auch.
:: Geräteversion - MSW-Software: R40Li - MSW-Version: 5.01.00 - Robonect Firmware 1.0 Beta 2
-
- Forum-Anfänger
- Beiträge: 9
- Registriert: Do 16. Mär 2017, 07:48
- Mäher: Husqvarna Automower 310
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: V1.0 Beta 7a
Re: Homematic für Dummies
Guten Abend,
habe es auch im dritten Anlauf nicht geschafft die Statusabfrage, insbesondere mit 16 (AM abgeschaltet) und 17 (schläft) zu realisieren. Angezeigt wird korrekt der Status "Mäht". Ansonsten gibt es aktuell nur den Status "Parkt", obwohl die direkte Abfrage über den Browser den Status 17 (schläft) ausgibt. Bestätigt durch die Robonect WebUI.
Ist es jemanden gelungen den Status (0-17) in eine Variable in HM auszugeben? Vermutung liegt nahe, dass die Problematik durch die Änderung von 1stellig auf 1stellig und 2stellig im Wechsel liegt.
Bin über jeden Hinweis dankbar.
Wünsche ein schönes Wochenende
Jürgen
habe es auch im dritten Anlauf nicht geschafft die Statusabfrage, insbesondere mit 16 (AM abgeschaltet) und 17 (schläft) zu realisieren. Angezeigt wird korrekt der Status "Mäht". Ansonsten gibt es aktuell nur den Status "Parkt", obwohl die direkte Abfrage über den Browser den Status 17 (schläft) ausgibt. Bestätigt durch die Robonect WebUI.
Ist es jemanden gelungen den Status (0-17) in eine Variable in HM auszugeben? Vermutung liegt nahe, dass die Problematik durch die Änderung von 1stellig auf 1stellig und 2stellig im Wechsel liegt.
Bin über jeden Hinweis dankbar.
Wünsche ein schönes Wochenende
Jürgen
Gruß
Jürgen
Jürgen
- PaulMerkelbach
- Forum-Nutzer
- Beiträge: 20
- Registriert: Di 20. Sep 2016, 15:42
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 6.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.1)
- Robonect Firmware: V 1.2
- hat sich bedankt: 2 Male
-
- Forum-Anfänger
- Beiträge: 9
- Registriert: Do 16. Mär 2017, 07:48
- Mäher: Husqvarna Automower 310
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: V1.0 Beta 7a
Re: Homematic für Dummies
Guten Morgen Paul,
an erster Stelle vielen Dank für Deinen Script.
In Step 1 habe ich mich rein um den Teil für den Status mit Umsetzung in eine String versucht. Bin leider gescheitert.
Wenn ich die Zeile "substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;" aktiviere und
die Zeile
"!substring = stdout.Substr(pos, 2).StrValueByIndex(posEnd, 0) ;"
auskommentiere erhalte ich als Rückmeldung unter Sript testen gem. "WriteLine("Antwort: " # stdout);" die kpl. Statusmeldung.
Antwort: {"successful": true, "name": "Husky", "status": {"status": 17, "stopped": false, "duration": 22239, "mode": 2, "battery": 100, "hours": 51}, "timer": {"status": 0, "next": {"date": "02.04.2017", "time": "15:00:00", "unix": 1491145200}}, "wlan": {"signal": -74}}
Für die nachfolgende "WriteLine("M_status: " # substring);" bekomme ich dann schon keine Rückmeldung mehr. Im Programm bringt die Fehlerprüfung keine Fehler.
Drehe ich die Kommentierung (2. Beitrag von Dir) um, dann erhalte ich unter Script testen überhaupt kein Feedback. Im Programm weist die Fehlermeldung dann
Error 1 at row 32 col 37 near ^2).StrValueByIndex(posEnd, 0) ;
dom.GetObject('AM310-Status').State(subst
Wäre prima, wenn Du mir unter die Arme greifen könntest.
Danke+VG
Gruß
Jürgen
an erster Stelle vielen Dank für Deinen Script.
In Step 1 habe ich mich rein um den Teil für den Status mit Umsetzung in eine String versucht. Bin leider gescheitert.
Wenn ich die Zeile "substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;" aktiviere und
die Zeile
"!substring = stdout.Substr(pos, 2).StrValueByIndex(posEnd, 0) ;"
auskommentiere erhalte ich als Rückmeldung unter Sript testen gem. "WriteLine("Antwort: " # stdout);" die kpl. Statusmeldung.
Antwort: {"successful": true, "name": "Husky", "status": {"status": 17, "stopped": false, "duration": 22239, "mode": 2, "battery": 100, "hours": 51}, "timer": {"status": 0, "next": {"date": "02.04.2017", "time": "15:00:00", "unix": 1491145200}}, "wlan": {"signal": -74}}
Für die nachfolgende "WriteLine("M_status: " # substring);" bekomme ich dann schon keine Rückmeldung mehr. Im Programm bringt die Fehlerprüfung keine Fehler.
Drehe ich die Kommentierung (2. Beitrag von Dir) um, dann erhalte ich unter Script testen überhaupt kein Feedback. Im Programm weist die Fehlermeldung dann
Error 1 at row 32 col 37 near ^2).StrValueByIndex(posEnd, 0) ;
dom.GetObject('AM310-Status').State(subst
Wäre prima, wenn Du mir unter die Arme greifen könntest.
Danke+VG
Gruß
Jürgen
Gruß
Jürgen
Jürgen
-
- Forum-Anfänger
- Beiträge: 9
- Registriert: Do 16. Mär 2017, 07:48
- Mäher: Husqvarna Automower 310
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: V1.0 Beta 7a
Re: Homematic für Dummies
Hallo Paul,
nachdem mir die Sache keine Ruhe gelassen habe, bin ich die Punkte nochmals Stück für Stück durchgegangen. Ergebnis ist Dein erster Script mit 2 Änderungen. In Zeile 3 des nachfolgenden Ausschnitt Deines Scripts habe ich das LEER (posEnd = ',';)vor dem Komma entfernt. In Zeile 6 die Anzahl der Stellen von 1 auf 2 (substring = stdout.Substr(pos, 2).....)erhöht. Wobei es keine Rolle spielt, ob 2 oder mehr! Die Auswertung erfolgt jetzt genau bis zum Komma.
pos=0;
posStart = '{"Status": ';
posEnd = ' ,';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;
dom.GetObject('M_status').State(substring);
WriteLine("M_status: " # substring);
Mit diesen Änderungen erfolgt jetzt die Befüllung der Systemvariablen wie gewünscht. Ich hoffe das es so bleib!
Wünsche noch einen schönen Abend!
nachdem mir die Sache keine Ruhe gelassen habe, bin ich die Punkte nochmals Stück für Stück durchgegangen. Ergebnis ist Dein erster Script mit 2 Änderungen. In Zeile 3 des nachfolgenden Ausschnitt Deines Scripts habe ich das LEER (posEnd = ',';)vor dem Komma entfernt. In Zeile 6 die Anzahl der Stellen von 1 auf 2 (substring = stdout.Substr(pos, 2).....)erhöht. Wobei es keine Rolle spielt, ob 2 oder mehr! Die Auswertung erfolgt jetzt genau bis zum Komma.
pos=0;
posStart = '{"Status": ';
posEnd = ' ,';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;
dom.GetObject('M_status').State(substring);
WriteLine("M_status: " # substring);
Mit diesen Änderungen erfolgt jetzt die Befüllung der Systemvariablen wie gewünscht. Ich hoffe das es so bleib!
Wünsche noch einen schönen Abend!
Gruß
Jürgen
Jürgen
- joe1313
- Forum-Nutzer
- Beiträge: 13
- Registriert: Mo 14. Nov 2016, 21:08
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 2.xx.xx
- Herstellungsjahr: 2011
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: -V1.1b
Re: Homematic für Dummies
Hallo zusammen,
Wie oft läßst ihr den Staus abrufen ?
Mit Timer - Funktion ?
Mich interessiert vor allen die Mähdauer (Einschätzung des Mähbedarfs).
Bei 1 min Abfragung, habe ich Angst, daß mir die CCU abschmiert.
Bei 3 min hätte ich schon größere Abweichung.
Idee ?
Danke Joe
Wie oft läßst ihr den Staus abrufen ?
Mit Timer - Funktion ?
Mich interessiert vor allen die Mähdauer (Einschätzung des Mähbedarfs).
Bei 1 min Abfragung, habe ich Angst, daß mir die CCU abschmiert.
Bei 3 min hätte ich schon größere Abweichung.
Idee ?
Danke Joe