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 - Einbindung

Einbindung von Robonect Hx und IO in Deine bereits bestehende Homematic-Anlage

Moderator: Lampi

kleinemeise
Forum-Nutzer
Beiträge: 20
Registriert: Mi 20. Apr 2016, 08:32

Re: Homematic - Einbindung

Beitrag von kleinemeise »

Hallo Leute,

ich habe Version 0.7 am Laufen und bekomme folgende Rückmeldung:

Code: Alles auswählen

{"successful": true, "status": {"status": 2, "duration": 2442, "mode": 0, "battery": 59, "hours": 146}, "timer": {"status": 1}}
Status
2, "durati
Status ende!
Modus
0
Modus ende!
Battery
59%
Laufzeit
146h
Timer Status
1}}
Timer Status ende!
Ich habe es jetzt soweit anpassen können, dass Modus, Status, Laufzeit und Batterie laufen.

Mähtag Mähzeit und Timer leider nicht. Das kann ich leider aus der Rückmeldung oben nicht erkennen :?

xerxos
Forum-Anfänger
Beiträge: 2
Registriert: Do 19. Mai 2016, 16:15

Re: Homematic - Einbindung

Beitrag von xerxos »

Hallo zusammen,

gibts hier mittlerweile Neuigkeiten? Was muss für die 0.7 angepasst werden?

Grüße

Nellcor
Forum-Nutzer
Beiträge: 18
Registriert: Di 17. Mai 2016, 21:52
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 4.xx.xx
Herstellungsjahr: 2013
Robonect-Modul: Robonect H30x (Rev.3)
Robonect Firmware: 1.0beta7a

Re: Homematic - Einbindung

Beitrag von Nellcor »

miwi hat geschrieben:Habe das Skript von Olli in den bestehenden Skript integriert. Jedoch bekomme ich in den Systemvariablen (Modus, Batterie, usw) keine Einträge.

Wo liegt der Fehler?


Michael
Auch ich habe versucht, mit der Version 0.7b, nach Anlegen einer CUxD Komponente, wenigstens den Status als Systemvariable in Homematic einzubinden. Leider nur "???" als Ausgabe.

Habe versucht, dass Skript abzuändern und an die aktuelle Response anzupassen. Hat leider nix geholfen. Wahrscheinlich zu rudimentäre Kenntnisse meinerseits.

Hat jemand ein funktionsfähiges Script, Robonect V0.7b, unter CUxD?

Danke
Henni

czierl
Forum-Nutzer
Beiträge: 47
Registriert: Do 31. Mär 2016, 15:25

Re: Homematic - Einbindung

Beitrag von czierl »

Hi Henni,

dieses Skript funktioniert bei mir mit 0.7b und CuXD

Code: Alles auswählen

string Url='http://192.168.1.131/json?cmd=status';

!Folgende Systemvariablen sind in Homematic anzulegen
!Mähroboter-Status
!Mähroboter-Modus
!Mähroboter-Battery
!Mähroboter-Laufzeit
!Mähroboter-Timer-Status
!Mähroboter-Mähtag
!Mähroboter-Mähzeit
!Mähroboter-Fehlermeldung
!Mähroboter-LastSync
 
var stdout="";
var posStart;
var posEnd;
var substring;
var batt;
string stderr;
string stdout;
string pos;
!WriteLine("strings gesetzt");
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#Url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
!WriteLine("Abrufen");
WriteLine(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.CUX2801001: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***********
In 0.7b gibt es nur noch einen API Fehler. Dadurch kommt der Tag und Zeit nicht richtig retour. Da steht dann nur \\\\\\ als Text.

lg,
Christoph
MSW-Software: R40Li, MSW-Version: 5.01.00, SUB-Version: 0.00.00, Robonect: 0.7b

Nellcor
Forum-Nutzer
Beiträge: 18
Registriert: Di 17. Mai 2016, 21:52
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 4.xx.xx
Herstellungsjahr: 2013
Robonect-Modul: Robonect H30x (Rev.3)
Robonect Firmware: 1.0beta7a

Re: Homematic - Einbindung

Beitrag von Nellcor »

vielen Dank für die Hilfe!!

FAST alles wird so angezeigt, wie von Dir beschrieben. Inkl. des API Fehlers mit der Zeit (///).

ABER: Nur der Status ist wie zuvor "???" bei mir.

Irgendwie verstehe ich das nicht. Direkte Abfrage mittels http://192.168.1.131/json?cmd=status, ergibt Status: 0.

Warum rafft er (Homematic) das nicht?

Grüße
Henni

Nellcor
Forum-Nutzer
Beiträge: 18
Registriert: Di 17. Mai 2016, 21:52
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 4.xx.xx
Herstellungsjahr: 2013
Robonect-Modul: Robonect H30x (Rev.3)
Robonect Firmware: 1.0beta7a

Re: Homematic - Einbindung

Beitrag von Nellcor »

Fehler gefunden:

(...)
!********Mähroboter Status abfragen***********
pos=0;
posStart = '{"Status": ';

posEnd = ', "mode'; ----> abgeändert zu ----> posEND = ',';

pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
(...)

und es geht. Endlich.

Gruß Henni

xerxos
Forum-Anfänger
Beiträge: 2
Registriert: Do 19. Mai 2016, 16:15

Re: Homematic - Einbindung

Beitrag von xerxos »

Hallo zusammen,

bei mir funktionieren nur einige Abfragen. Den Status bekomme ich auch mit der Anpassung nicht. Welche CCU und Cuxd Versionen habt ihr bei euch
drauf?

EDIT:
(...)
!********Mähroboter Status abfragen***********
pos=0;
posStart = '{"status": ';

posEnd = ', "mode'; ----> abgeändert zu ----> posEND = ',';

pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
(...)
posEND = ','; muss posEnd = ','; heißen. Entsprechend der Vereinbarung am Anfang. Ich danke euch für die Lösung!

Grüße

huwahu
Forum-Anfänger
Beiträge: 9
Registriert: Sa 14. Mai 2016, 13:00
Wohnort: Korntal
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: V0.9

Re: Homematic - Einbindung

Beitrag von huwahu »

irgend was mache ich falsch bei mir kommt immer noch ??? bei Status ?
Automower: R40Li MSW-Version: 5.01.00 Sub-Version: 5.00.00

huwahu
Forum-Anfänger
Beiträge: 9
Registriert: Sa 14. Mai 2016, 13:00
Wohnort: Korntal
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2015
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: V0.9

Re: Homematic - Einbindung

Beitrag von huwahu »

CCU2 neu gestartet jetzt geht´s .
Automower: R40Li MSW-Version: 5.01.00 Sub-Version: 5.00.00

Benutzeravatar
bk-net
Forum-Nutzer
Beiträge: 17
Registriert: Mo 23. Mai 2016, 12:25
Wohnort: Braunschweig
Mäher: Husqvarna Automower 105
Robonect Firmware: -

Re: Homematic - Einbindung

Beitrag von bk-net »

Hallo zusammen,
vielen Dank für die bisherigen Informationen, die gestern weitestgehend an meine CCU2 angepast und eingebunden habe.
Kann mir vielleicht jemand schreiben, welches CUXd Gerät mit welchen Parametern in der CCU anzulegen ist?
vielen Dank für Eure Unterstützung.
Grüße
Bernd
MSW-Software: Husqvarna 305 mit Upgrade auf 308
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10
MMI-Version: 5.05.00
CCU2: 2.21.10
RasPi 3: 2.15.
CuXD: 1.7

Antworten

Zurück zu „Homematic-Nutzer“