VU+ Satbox Status in Systemvariable

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

ingranu
Beiträge: 53
Registriert: 16.01.2017, 15:57

VU+ Satbox Status in Systemvariable

Beitrag von ingranu » 22.01.2018, 18: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 ? :-(

WAdler 68
Beiträge: 1256
Registriert: 09.11.2008, 17:29

Re: VU+ Satbox Status in Systemvariable

Beitrag von WAdler 68 » 22.01.2018, 22: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.

ingranu
Beiträge: 53
Registriert: 16.01.2017, 15:57

Re: VU+ Satbox Status in Systemvariable

Beitrag von ingranu » 22.01.2018, 22:31

Ping reicht nicht aus, fahre die Box nur in Standby nicht komplett aus
Zuletzt geändert von alchy am 23.01.2018, 00:55, insgesamt 1-mal geändert.
Grund: sinnloses Fullquote entfernt

Desti
Beiträge: 76
Registriert: 29.09.2014, 00:21

Re: VU+ Satbox Status in Systemvariable

Beitrag von Desti » 22.01.2018, 23: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 [emoji41]
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: 29.09.2014, 00:21

Re: VU+ Satbox Status in Systemvariable

Beitrag von Desti » 23.01.2018, 00: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,

alchy
Beiträge: 7450
Registriert: 24.02.2011, 02:34

Re: VU+ Satbox Status in Systemvariable

Beitrag von alchy » 23.01.2018, 01: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

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

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 (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

ingranu
Beiträge: 53
Registriert: 16.01.2017, 15:57

Re: VU+ Satbox Status in Systemvariable

Beitrag von ingranu » 23.01.2018, 09:53

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

Code: Alles auswählen

    <e2powerstate><e2instandby>
    true   </e2instandby></e2powerstate>

alchy
Beiträge: 7450
Registriert: 24.02.2011, 02:34

Re: VU+ Satbox Status in Systemvariable

Beitrag von alchy » 23.01.2018, 11: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

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

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 (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

ingranu
Beiträge: 53
Registriert: 16.01.2017, 15:57

Re: VU+ Satbox Status in Systemvariable

Beitrag von ingranu » 23.01.2018, 11: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, 11:32, insgesamt 1-mal geändert.
Grund: sinnloses Fullquote entfernt

alchy
Beiträge: 7450
Registriert: 24.02.2011, 02:34

Re: VU+ Satbox Status in Systemvariable

Beitrag von alchy » 23.01.2018, 11: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

.................... Full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

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 (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic allgemein“