HomeMatic CCU2 bei ELV bestellen

VU+ Satbox Status in Systemvariable

Allgemeines zur HomeMatic Haussteuerung

Werbung


VU+ Satbox Status in Systemvariable

Beitragvon ingranu » 22.01.2018, 17:03

Hallo zusammen

Gerne würde ich den Status meines E2 Sat Reciever in eine Variable schreiben, scheitere jedoch!
Abfrage erfolgt mit: 192.168.2.71/web/powerstate

Ausgabe

Code: Alles auswählen
<e2powerstate><e2instandby>
true   </e2instandby></e2powerstate>


SCript welche ich verwende:
Code: Alles auswählen
    string url = "http://192.168.2.71/web/powerstate";
    dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O -  '"#url#"'");
    dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
    string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
    integer antwort = aw.Find("true");
!+++++++ SETUP SYSTEMVARIABLE ++++++
    ! 1. VOR Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
    var USE_SYSVAR = "yes"; ! yes to save the output to a sysvar
    var SYSVAR_NAME = "reciever_status"; ! name of the sysvar

    if ( antwort == "false" )
    {
    dom.GetObject("reciever_status").State(0);
    }
    if ( antwort == "true" )
    {
    dom.GetObject("reciever_status").State(1);
    }


Variable erstellt mit dem Name:
reciever_status
Logikwert: wahr=1


Wo mache ich einen Fehler ? :-(
ingranu
 
Beiträge: 53
Registriert: 16.01.2017, 14:57

Re: VU+ Satbox Status in Systemvariable

Beitragvon WAdler 68 » 22.01.2018, 21:29

Reicht da nicht einfach ein Ping? mehr gibt dir die Box eh nicht her. Sie lässt sich nicht schalten, oder sofort überwachen. Ich pinge sie nur einfach an, um zu wissen, das sie da ist und Nachrichen empfangen kann.
WAdler 68
 
Beiträge: 1255
Registriert: 09.11.2008, 16:29

Re: VU+ Satbox Status in Systemvariable

Beitragvon ingranu » 22.01.2018, 21:31

Ping reicht nicht aus, fahre die Box nur in Standby nicht komplett aus
Zuletzt geändert von alchy am 22.01.2018, 23:55, insgesamt 1-mal geändert.
Grund: sinnloses Fullquote entfernt
ingranu
 
Beiträge: 53
Registriert: 16.01.2017, 14:57

Re: VU+ Satbox Status in Systemvariable

Beitragvon Desti » 22.01.2018, 22:22

Man konnte doch die api auslesen soweit ich das in Erinnerung hatte.
192.×.×.×/web/powerstate?
Hatte da mal was zurechtgefummelt um damals mein Status aus dem LMS (LogitechMediaServer) auszulesen und es in eine SV zu schreiben.

Hab den genauen Ablauf aber nicht mehr genau im Kopf.

Edit: ach ich sehe gerade das es ja in deinem Script steht
Macht die Box keinen Unterschied zwischen Standby und Power?

In der Webansicht macht die GUI doch auch einen Unterschied zwischen Standby und Off. Das kann man vielleicht über die Webseiten Ansicht herausfinden wenn man den Quellcode durchsucht.

Gesendet von meinem SM-G950F mit Tapatalk
YAHM,MediolaV4+,div. Homematic Sensoren, CCU.io(Dashui) auf Pi,
Desti
 
Beiträge: 76
Registriert: 28.09.2014, 23:21

Re: VU+ Satbox Status in Systemvariable

Beitragvon Desti » 22.01.2018, 23:04

Ich glaube die je Antwort ist nicht true...
Sondern 1 oder 0 .

Code: Alles auswählen
string url = "http://192.168.178.23/web/powerstate";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O -  '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
integer antwort = aw.Find("true");

if ( antwort == -1 )
{
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null 'http://192.168.178.73/addons/xmlapi/statechange.cgi?ise_id=10291&new_value=true'");

}
if ( antwort > 0 )
{
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null 'http://192.168.178.73/addons/xmlapi/statechange.cgi?ise_id=10291&new_value=false'");

}


Gesendet von meinem SM-G950F mit Tapatalk
YAHM,MediolaV4+,div. Homematic Sensoren, CCU.io(Dashui) auf Pi,
Desti
 
Beiträge: 76
Registriert: 28.09.2014, 23:21

Re: VU+ Satbox Status in Systemvariable

Beitragvon alchy » 23.01.2018, 00:15

Desti hat geschrieben:Ich glaube die je Antwort ist nicht true...
Sondern 1 oder 0 .

Nö, so wie es der TE beschreibt, geschätzt irgendetwas um die 27.

antwort als Folge von
Code: Alles auswählen
 integer antwort = aw.Find("true");


enthält einen integer Wert, der im Erfolgsfall die Anfangsposition des Fundes im String aw anzeigt.

Du brauchst also in diesem Fall nur auf > -1 (find ist nicht erfolgreich) zu prüfen.
CUxD und ein xmlapi wget Aufruf zum Setzen der Systemvariablen sollte bei einem HM Script welches auf der CCU läuft wohl eher nicht nötig sein.

Alchy

...................
Sprichst Du zu Gott bist Du gesegnet. Spricht Gott zu Dir bist Du schizophren.


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 6532
Registriert: 24.02.2011, 01:34

Re: VU+ Satbox Status in Systemvariable

Beitragvon ingranu » 23.01.2018, 08:53

Also die Box gibt als Antwort nur: "True" oder False aus

Code: Alles auswählen
    <e2powerstate><e2instandby>
    true   </e2instandby></e2powerstate>
ingranu
 
Beiträge: 53
Registriert: 16.01.2017, 14:57

Re: VU+ Satbox Status in Systemvariable

Beitragvon alchy » 23.01.2018, 10:04

Das Aufrufen des Links gibt NACH DEINEN INFOS nicht true oder false zurück , sondern einen String, wo eventuell der String true enthalten ist.
Eine Herangehensweise nun auf das Ausgelesene zu reagieren: im Rückgabestring den Teilstring true suchen.
Wenn es vorhanden ist, entsprechend darauf reagieren.

Alchy

...................
Sprichst Du zu Gott bist Du gesegnet. Spricht Gott zu Dir bist Du schizophren.


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 6532
Registriert: 24.02.2011, 01:34

Re: VU+ Satbox Status in Systemvariable

Beitragvon ingranu » 23.01.2018, 10:25

Wenn die Box sich im Standby befindet gibt die Ausgabe true aus, ist die Box eingeschaltet ist die Ausgabe false
Zuletzt geändert von alchy am 23.01.2018, 10:32, insgesamt 1-mal geändert.
Grund: sinnloses Fullquote entfernt
ingranu
 
Beiträge: 53
Registriert: 16.01.2017, 14:57

Re: VU+ Satbox Status in Systemvariable

Beitragvon alchy » 23.01.2018, 10:40

Du kannst es gerne noch 10 mal schreiben, es wird dadurch nicht gehaltvoller. :wink:

Bevor ich wieder Mecker kriege und um es abzukürzen:
Auf die Schnelle, versuch mal folgendes Script unter Skript testen:

Code: Alles auswählen
Scriptcopy gelöscht

https://homematic-forum.de/forum/viewtopic.php?f=19&t=41725&p=414501#p414511



ich hoffe, da ist jetzt kein Mist entstanden auf dem Handy.

Alchy

...................
Sprichst Du zu Gott bist Du gesegnet. Spricht Gott zu Dir bist Du schizophren.


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 6532
Registriert: 24.02.2011, 01:34

Nächste

Zurück zu HomeMatic allgemein

Wer ist online?

Mitglieder in diesem Forum: 2t-elefant, Google Feedfetcher, haubentaucher, JRiemann, Juwei, skoss und 16 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.