Robbie + Wetter + Zeit + Garagentor

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

Moderator: Lampi

swat33333
Beiträge: 13
Registriert: Fr 7. Okt 2016, 17:17
Mäher: Husqvarna Automower 105
Herstellungsjahr: 2016
Robonect Firmware: 0.9c
Kontaktdaten:

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von swat33333 » Mi 11. Apr 2018, 11:55

So ich habe eine vorläufige Lösung die noch klappen soll. Danke an Kurt.
Die variablen Bzw Namen müssen natürlich angepasst werden.
A

Code: Alles auswählen

KURT-Status-Z	als Zahl 0-100
---------------------------------------
!********KURT 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) ;
substring = stdout.Substr(pos, 3).StrValueByIndex(posEnd, 0) ;
batt=substring;
substring = substring.ToInteger();
dom.GetObject('KURT-Battery-Z').State(substring.ToInteger() );
!WriteLine("KURT- Battery-Z: " # substring);
!batt=substring;
substring =substring + ' %';
if(stdout.Find(posStart)>0)
{
!WriteLine("Battery");
!WriteLine(substring);
dom.GetObject('KURT-Battery').State(substring.ToString(1));
dom.GetObject("CUxD.CUX2801002:1.LOGIT").State("KURT-Battery;"#batt.ToString(1));
!WriteLine("Batterie ende!");
}
else
{
dom.GetObject('KURT-Battery').State('Variable nicht gesetzt');
}
!********KURT Battery abfragen ENDE***********
Als weitere Info ich werde wahrscheinlich umsteigen auf eine Abfrage mittels io Broker. Hierzu werden ich wieder eine detaillierte Anleitung erstellen. Wenn es läuft.
Wieso?!
- wlan Modul war oft nicht erreichbar scheinbar wegen Abfrage der ccu
- Rechenleistung für Abfrage kann auf ccu eingespart werden.
- div. Weitere Projekte lassen sich einfacher verknüpfen.

Ihr hört von mir.

Rudi2017
Beiträge: 7
Registriert: So 18. Jun 2017, 15:56
Mäher: Husqvarna Automower 105
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: V1.0 Beta7

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von Rudi2017 » Do 12. Apr 2018, 13:25

DANKE! Gute Lösung... Funktioniert ;)

saschen79
Beiträge: 4
Registriert: Sa 20. Jan 2018, 14:52
Mäher: Gardena R40Li
Herstellungsjahr: 2014
Robonect-Modul: noch kein Robonect verbaut
Robonect Firmware: ---

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von saschen79 » Sa 14. Apr 2018, 12:10

Danke läuft wieder. :)

opossum
Beiträge: 4
Registriert: Fr 30. Jun 2017, 18:02
Wohnort: Blankenhagen
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2012
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: 1.0 B3

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von opossum » Fr 4. Mai 2018, 13:50

Hallo, swat,

ich habe auch Homatic zu hause und würde meinen R40LI auch gern in diese Steuerung einbinden. Das Nachbauen hast Du schön übersichtlich dargestellt und ist auch nachvollziehbar. In Deinen Scripten verwendest Du die CUxD geräte CUxD.CUX2801002:2 und CUxD.CUX2800001:1.

Gehe ich richtig in der Annahme, dass CUxD.CUX2801002:2 der Switch bzw. Key ist und
CUxD.CUX2800001:1 der Timer?

Alles andere ist aus meiner Sicht super erklärt. Ich versuche mich gerade daran.

Danke für die Antwort.

Gruß
opossum
R40Li seit 2012 Name Karlchen auf 550m² Grundstück - WLAN Modul Hx Rev.4 - Kamera in Planung

opossum
Beiträge: 4
Registriert: Fr 30. Jun 2017, 18:02
Wohnort: Blankenhagen
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2012
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: 1.0 B3

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von opossum » Fr 4. Mai 2018, 15:56

Hallo, swat,

ich habe jetzt mal angefangen und das Script nebst Programm für die Statusabfrage zu bauen. Leider will das nicht so, wie ich denke.
Die Abfrage im Browser abgesetzt

Code: Alles auswählen

http://192.168.1.24/json?cmd=status
bringt folgendes Ergebnis

Code: Alles auswählen

{"name": "Karlchen", "id": "07802E", "status": {"status": 4, "stopped": false, "duration": 145, "mode": 0, "battery": 50, "hours": 2326}, "timer": {"status": 1}, "blades": {"quality": 92, "hours": 16, "days": 4}, "wlan": {"signal": -80}, "health": {"temperature": 27, "humidity": 40}, "error": {"error_code": 0, "error_message": "Unbekannter Fehlercode!", "date": "2018-05-04", "time": "14:36:45", "unix": 1525444605}, "clock": {"date": "2018-05-04", "time": "15:00:51", "unix": 1525446051}, "successful": true}
Teste ich das Script im Testfenster der CCU2, kommt folgende Ausgabe:

Antwort:
Karlchen_Status_Text: ausgeschaltet ?
Karlchen_Modus_Text: ???
Es scheint, als ob das Ergebnis der Abfrage nicht im CUxD abgelegt wird?

Im Abfragescript habe ich den Switch drin. Das beantwortet auch meine Frage aus dem vorherigen Post.
Aber es werden nicht alle Variablen gesetzt. Kann es sein, dass ich im Script noch Anpassungen vornehmen muss oder ist das CUxd-Gerät nicht das richtige? Habe ich so angelegt, wie Du es beschrieben hast, als Switch, hat aber die gleichen Parameter. Im CUxD sehe ich auch:

Code: Alles auswählen

CUX2801001:4	rmax(65535) t(3600s) p(0)
			SWITCH-FALSE CMD_SHORT(wget -q -O - 'http://192.168.1.24/json?cmd=status')
			SWITCH-TRUE CMD_LONG()
Danke für die Hilfe.

Gruß
opossum
R40Li seit 2012 Name Karlchen auf 550m² Grundstück - WLAN Modul Hx Rev.4 - Kamera in Planung

opossum
Beiträge: 4
Registriert: Fr 30. Jun 2017, 18:02
Wohnort: Blankenhagen
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2012
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: 1.0 B3

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von opossum » Fr 4. Mai 2018, 20:26

Hallo, swat,

es war die Übermittlung User und Passwort. Habe das Script nun Step by Step getestet und gebaut. Nun läuft es bei mir.
Nachfolgend das Script:

Code: Alles auswählen

string Url='http://192.168.XXX.XXX/json?user=Mein User&pass=Mein Passwort&cmd=status';
var stdout="";
var posStart;
var posEnd;
var substring;
var batt;
var temp;
string stderr;
string stdout;
string pos;

dom.GetObject("CUxD.CUX2801001:4.CMD_SETS").State("wget -q -O - '"#Url#"'");
dom.GetObject("CUxD.CUX2801001:4.CMD_QUERY_RET").State(1);
string stdout= dom.GetObject("CUxD.CUX2801001:4.CMD_RETS").State();

WriteLine("Antwort: " # stdout);
!xxxxxxxxxxxxxxxxKarlchen_Fehlerxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
pos=0;
posStart = '"error_message": "';
posEnd = '", "date"';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 43).StrValueByIndex(posEnd, 0) ;
dom.GetObject('Karlchen_Fehler').State(substring.ToString(1));
}
else
{
dom.GetObject('Karlchen_Fehler').State('keine Fehlermeldung');
}
WriteLine("Karlchen_Fehler: " # substring);

!xxxxxxxxxxxxxxxxKarlchen_LastSyncxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

var temp = system.Date("%d.%m.%Y %H:%M:%S");
dom.GetObject('Karlchen_LastSync').State(temp.ToString() );
WriteLine("Karlchen_LastSync " # temp);

!xxxxxxxxxxxxxxxxKarlchen_Wlanxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = 'wlan": {"signal":';
posEnd = '}';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;   
dom.GetObject('Karlchen_Wlan').State(substring.ToString() );
}
else
{
dom.GetObject('Karlchen_Wlan').State(' ');
}
WriteLine("Karlchen_Wlan: " # substring);

!xxxxxxxxxxxxxxxxKarlchen_Timer_Zeitxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"time": "';
posEnd = '", "unix":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 8).StrValueByIndex(posEnd, 0) ;
dom.GetObject('Karlchen_Timer_Zeit').State(substring.ToString(1) );
}
else
{
dom.GetObject('Karlchen_Timer_Zeit').State('-');
}
WriteLine("Karlchen_Timer_Zeit: " # substring);

!xxxxxxxxxxxxxxxxKarlchen_Time_Datumxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"next": {"date": "';
posEnd = '", "time":';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;   
dom.GetObject('Karlchen_Timer_Datum').State(substring.ToString(1));
}
else
{
dom.GetObject('Karlchen_Timer_Datum').State('-');
}
WriteLine("Karlchen_Timer_Datum: " # substring);

!xxxxxxxxxxxxxxxxKarlchen_Timer_Statusxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"timer": {"status": ';
posEnd = ',';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ;   

if (substring == 0) {dom.GetObject('Karlchen_Timer_Status').State("Deaktiviert");}
if (substring == 1) {dom.GetObject('Karlchen_Timer_Status').State("Aktiv");}
if (substring == 2) {dom.GetObject('Karlchen_Timer_Status').State("Standby");}
}
else
{
dom.GetObject('Karlchen_Timer_Status').State(' ');
}

temp = dom.GetObject('Karlchen_Timer_Status').Value();
WriteLine("Karlchen_Timer_Status: " # temp);

!xxxxxxxxxxxxxxxxKarlchen_Status_Textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '{"status": ';
posEnd = ' ,';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 1).StrValueByIndex(posEnd, 0) ; 
!substring = stdout.Substr(pos, 2).StrValueByIndex(posEnd, 0) ; 
dom.GetObject('Karlchen_Status').State(substring);
WriteLine("Karlchen_Status: " # substring);

! nur für Chart CUxD 
! dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("M_status;"#substring.ToInteger());

if (substring == 0) {dom.GetObject('Karlchen_Status_Text').State("Status wird ermittelt");}
if (substring == 1) {dom.GetObject('Karlchen_Status_Text').State("parkt");}
if (substring == 2) {dom.GetObject('Karlchen_Status_Text').State("mäht");}
if (substring == 3) {dom.GetObject('Karlchen_Status_Text').State("sucht die Ladestation");}
if (substring == 4) {dom.GetObject('Karlchen_Status_Text').State("lädt auf");}
if (substring == 5) {dom.GetObject('Karlchen_Status_Text').State("sucht");}
if (substring == 7) {dom.GetObject('Karlchen_Status_Text').State("befindet sich im Fehlerstatus");}
if (substring == 8) {dom.GetObject('Karlchen_Status_Text').State("Schleifensignal verloren");}

substring = stdout.Substr(pos, 2).StrValueByIndex(posEnd, 0) ; 

if (substring == 16) {dom.GetObject('Karlchen_Status_Text').State("abgeschaltet");}
if (substring == 17) {dom.GetObject('Karlchen_Status_Text').State("schläft");}
}
else
{
dom.GetObject('Karlchen_Status_Text').State("ausgeschaltet ?");
}

string temp = dom.GetObject('Karlchen_Status_Text').Value();
WriteLine("Karlchen_Status_Text: " # temp);

!xxxxxxxxxxxxxxxxKarlchen_Stopxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"stopped": ';
posEnd = '", duration"';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 5).StrValueByIndex(posEnd, 0) ; 
!dom.GetObject('Karlchen_Stop').State(substring);
if (substring == "true") {dom.GetObject('Karlchen_Stop').State("true");}
if (substring == "fals") {dom.GetObject('Karlchen_Stop').State("false");};
WriteLine("Karlchen_Stop: " # substring);
}
else
{
dom.GetObject('Karlchen_Stop').State('-');
}

!xxxxxxxxxxxxxxxxKarlchen_Zeit_in_Statusxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"duration":';
posEnd = ',';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ; 
!substring ist hier vom Typ nicht String !!!
substring = substring.ToInteger()/60;  
!WriteLine(substring # " Minuten M_duration");
var zahl = substring.ToInteger();
!WriteLine("zahl 0:" # zahl);
var h = (zahl / 60).ToInteger();
!WriteLine("zahl h Gesamtstunden: " # h);
var d = (h / 24).ToInteger();
!WriteLine("zahl d Tage:" # d);
zahl = (substring - (d * 24 * 60)).ToInteger();
!WriteLine("zahl restl.Minuten: " # zahl);
h = (zahl / 60).ToInteger();
zahl = (zahl - (h * 60).ToInteger() );
!WriteLine("zahl Minuten:" # zahl);

string substring = (d # " Tage " # h # " Stunden " # zahl #" Minuten");

WriteLine("Karlchen_Zeit_in_Status: " # substring);

dom.GetObject("Karlchen_Zeit_in_Status").State(substring);
}
else
{
dom.GetObject('Karlchen_Zeit_in_Status').State('-');
}

!xxxxxxxxxxxxxxxxKarlchen_Modus_Textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"mode": ';
posEnd = ', "batt';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 3).StrValueByIndex(posEnd, 0) ; 
substring = substring.ToInteger();
dom.GetObject('Karlchen_Modus').State(substring.ToInteger() );
WriteLine("Karlchen_Modus: " # substring);
if (substring == 0) {dom.GetObject('Karlchen_Modus_Text').State("Modus Auto");}
if (substring == 1) {dom.GetObject('Karlchen_Modus_Text').State("Modus Manuell");}
if (substring == 2) {dom.GetObject('Karlchen_Modus_Text').State("Modus Home");}
if (substring == 3) {dom.GetObject('Karlchen_Modus_Text').State("Modus Demo");}
}
else
{
dom.GetObject('Karlchen_Modus').State('-');
}

var temp = dom.GetObject('Karlchen_Modus_Text').Value();
WriteLine("Karlchen_Modus_Text: " # temp);

!xxxxxxxxxxxxxxxxKarlchen_Laufzeitxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


pos=0;
posStart = '"hours": ';
posEnd = '}';
pos = stdout.Find(posStart) + posStart.Length();
if(stdout.Find(posStart)>0)
{
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;   
substring =substring + ' h';
dom.GetObject('Karlchen_Laufzeit').State(substring.ToString(1));
}
else
{
dom.GetObject('Karlchen_Laufzeit').State(' ');
}

var temp = dom.GetObject('Karlchen_Laufzeit').Value();
WriteLine("Karlchen_Laufzeit: " # temp);

!xxxxxxxxxxxxxxxxKarlchen_Batteriexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

pos=0;
posStart = '"battery": ';
posEnd = ', "';
pos = stdout.Find(posStart) + posStart.Length();
substring = stdout.Substr(pos, 10).StrValueByIndex(posEnd, 0) ;   
var temp = substring;
substring = substring + ' %';
if(stdout.Find(posStart)>0)
{
WriteLine("Karlchen_Batterie: " # substring);
dom.GetObject('Karlchen_Batterie').State(substring.ToString(1));
!schreibt log in CUxD
!dom.GetObject("CUxD.CUX2801001:1.LOGIT").State("Karlchen_Batterie;"#temp.ToString(1));
}
else
{
dom.GetObject('Karlchen_Batterie').State(' ');
}
Werde nun noch alle WriteLine inaktiv setzen und dann geht es erst einmal.

Bei "stopped" = true lasse ich mir zusätzlich eine Pushnachricht auf das Mobilphone senden.

Gruß und danke.

opossum
R40Li seit 2012 Name Karlchen auf 550m² Grundstück - WLAN Modul Hx Rev.4 - Kamera in Planung

Benutzeravatar
KURT-17
Beiträge: 27
Registriert: Sa 10. Feb 2018, 19:03
Mäher: Husqvarna Automower 310
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: V1.0 (Beta 7a)

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von KURT-17 » Fr 21. Sep 2018, 17:59

Hallo in die RUNDE
habe seit Tagen das Problem, das HM Prg. wird NICHT bearbeitet, Zyklus alle 30 sec - Mähzeit jeweils im Minuten Takt. Seit 1 Woche mit CCU3 aber auch mit der CCU2 war schon das gleiche Problem. Es Geht mal 2 Wochen SUPER, dann VERZÖGERT sich die EINGABE aller Taster auch um ca. 10-25 min. Habe bei eQ-3 das Verhalten ANGEMECKERT - Antwort hier: unsere Prüfung ergab, dass Sie Software von Drittanbietern verwenden, die nicht von unserer Seite getestet wird und daher auch kein Support zu dieser erfolgt. Wir vermuten, dass genanntes Verhalten mit der von Ihnen verwendeten Software zusammenhängt. Wenn diese nicht regelmäßig aktualisiert wird, kommt es hier zu Fehlern, falschen Statusmelden, keine Statusmeldungen uvm.
Dazu noch mal ein BILD (12min Stillstand)das Prg. ist seid März auf KURT, Mähzeit je nach Wetter 1 Mähzeit 80min und 2 Mähzeit 60min, WER KANN HELFEN .....
Dateianhänge
180920_09_HM.jpg
Kurt-17 - Beta5 - Cam vorn + NX4459 Heck - 6 LED 2x18000 lm 2x VORN 4x HECK - HM CCU3 - Garage HM Rolladenaktor - Fritz 7560 - Repeater 1750E -Regensensor HM WDS100-C6-O +FS20 Regen-Markisensensor ->HM

Lampi
Beiträge: 72
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.0 Beta 7a

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von Lampi » Sa 22. Sep 2018, 11:55

Hallo Kurt-17,

wenn ich mal ein paar Vermutungen machen darf.

Setzt Du eventuell CUxD mit System.Exec ein?
Wenn ja, könnte es sein das die Verbindung über W-Lan nicht stabil ist und CUxD keine Verbindung zu Robonect zwecks Statusabfrage aufbauen kann. Dann schau doch bitte mal unter Einstellungen -> Geräte bei dem im Skript verwendetem Kanal wie der Parameter EXEC_TIMEOUT eingestellt ist. Soweit ich weiß ist er standartmäßig mit 60 Minuten vorbelegt. Wenn Du den auf 1 Minuten runter nimmst, sollten die "Hänger" nicht mehr so lange dauern, aber immer wieder auftreten solange bis die Verbindung wieder da ist.
Falls dass das Problem sein sollte, kann man von CUxD das Gerät Ping verwenden um die Statusabfrage erst gar nicht zu starten.

Gruß Jörg

Benutzeravatar
KURT-17
Beiträge: 27
Registriert: Sa 10. Feb 2018, 19:03
Mäher: Husqvarna Automower 310
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2016
Robonect-Modul: Robonect Hx (Rev.4)
Robonect Firmware: V1.0 (Beta 7a)

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von KURT-17 » Di 25. Sep 2018, 14:22

Hallo Lampi,
Danke für den TIP, habe die Zeit von 60 auf 1 gesetzt, TESTE jetzt, gestern dauernd REGEN, heute NEUE PROBLEME! CCU3 erst mal keine AUSSETZER, aber laufend fallen 2 Rolladenaktor aus, bin noch am SUCHEN.
Nach CCU Neustart gehen Aktoren AN und auch Rolladen RUNTER (ich glaube zu früh gekauft?). Dann letzte Woche auf Beta 6 gewechselt - NEUES Problem nach 7min Mäht -> FEIERABEND und kein Befehl von der CCU.... wechsel jetzt zurück auf die ALTE SOFT. Melde mich wenn die FEHLER weg sind ODER NICHT. Wenn ich von CUxD das Gerät Ping verwenden will hast Du da evt. einen Vorschlag?
Gruß KURT-17
Dateianhänge
20180916_Rcam.jpg
KURT mit Rückfahrcam
Kurt-17 - Beta5 - Cam vorn + NX4459 Heck - 6 LED 2x18000 lm 2x VORN 4x HECK - HM CCU3 - Garage HM Rolladenaktor - Fritz 7560 - Repeater 1750E -Regensensor HM WDS100-C6-O +FS20 Regen-Markisensensor ->HM

Lampi
Beiträge: 72
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.0 Beta 7a

Re: Robbie + Wetter + Zeit + Garagentor

Beitrag von Lampi » Fr 28. Sep 2018, 22:40

Da gibt es mehrere Möglichkeiten. Aber erstmal muss das Gerät eingerichtet werden.
Auskunft zu den einzelnen Parameter gibt die Anleitung zu CUxD.
Ping1.png


Eine Möglichkeit ist im Programm eine Abfrage auf UND z.B. ...
Ping2.png


oder im Skript

Code: Alles auswählen

boolean vPing = dom.GetObject("Ping_Shirley").DPByHssDP("STATE").Value(); ! Wenn true besteht Verbindung

if (vPing){
  ! Hier die Anweisungen zum Afragen des Status

} else {
  ! Hier eventuel Anweisungen die ausgeführt werden sollen wenn keine Verbindung

}
es ginge auch das Skript vorzeitig zu beenden wenn die weitere Abarbeitung keinen Sinn macht.

Code: Alles auswählen

boolean vPing = dom.GetObject("Ping_Shirley").DPByHssDP("STATE").Value(); ! Wenn true besteht Verbindung

if (!vPing){
  quit;
}
Gruß
Jörg

Antworten

Zurück zu „Homematic-Nutzer“