CUxD System-Exec Dreambox abfragen
Moderator: Co-Administratoren
CUxD System-Exec Dreambox abfragen
Hallo,
ich möchte auf der Dreambox eine Nachricht von der CCU erhalten und mit JA/NEIN bestätigen und diese Anwort dann in eine Variable der CCU eintragen.
Klappen tut bis jetzt die Nachricht an die Dreambox mit CUxD (System-Exec Gerät).
!Meldung auf DB
string url="'http://192.168.XXX.XXX/web/message?text ... timeout=10'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Nicht klappen tut die Abfrage des Ergebnisses. Wobei folgendes über Browser beantwortet wird:
_ttp://192.168.XXX.XXX/web/messageanswer?getanswer=now
mit
Bei Ja oder garkeiner Reaktion: True Answer is YES!
Bei Nein: True Answer is NO!
Wenn der DB vorher garkeine Frage gestellt wurde oder wenn die Antwort bereits einmal abgefragt wurde: False No answer in time
Das Skript zum Abfragen vom Chris das ich verwende sieht so aus:
!Antwort der DB Auslesen und in Variable SV DB Antwort schreiben
string antwort;
string url="'http://192.168.XXX.XXX/web/messageanswer?getanswer=now'";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - "#url);
string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
antwort = aw.Find("True");
if ( antwort == -1 )
{
dom.GetObject('SV DB Antwort').State(0);
}
if ( antwort > 0)
{
dom.GetObject('SV DB Antwort').State(1);
}
Wenn ich das Skript Starte, dann bekomme ich nach Kontrolle mit dem Browserbefehl oben, die Antwort von JA bzw. Nein.
Was heist, dass die CCU/CUxD die Dream garnicht abgefragt haben kann mit dem Skript.
Wenn ich CMD_SETS durch CMD_EXEC ersetze, erhalte ich mit dem Browserbefehl zur Kontrolle, die Antwort:False No answer in time
Heist wohl das jetzt der Kontakt CCU/CUxD mit der DReam zum Abfragen stattgefunden hat.
Jemand ein Tip, wie ich die Variable "SV DB Antwort" mit dem Skript gefüllt bekomme?
mfg. Joe
ich möchte auf der Dreambox eine Nachricht von der CCU erhalten und mit JA/NEIN bestätigen und diese Anwort dann in eine Variable der CCU eintragen.
Klappen tut bis jetzt die Nachricht an die Dreambox mit CUxD (System-Exec Gerät).
!Meldung auf DB
string url="'http://192.168.XXX.XXX/web/message?text ... timeout=10'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Nicht klappen tut die Abfrage des Ergebnisses. Wobei folgendes über Browser beantwortet wird:
_ttp://192.168.XXX.XXX/web/messageanswer?getanswer=now
mit
Bei Ja oder garkeiner Reaktion: True Answer is YES!
Bei Nein: True Answer is NO!
Wenn der DB vorher garkeine Frage gestellt wurde oder wenn die Antwort bereits einmal abgefragt wurde: False No answer in time
Das Skript zum Abfragen vom Chris das ich verwende sieht so aus:
!Antwort der DB Auslesen und in Variable SV DB Antwort schreiben
string antwort;
string url="'http://192.168.XXX.XXX/web/messageanswer?getanswer=now'";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - "#url);
string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
antwort = aw.Find("True");
if ( antwort == -1 )
{
dom.GetObject('SV DB Antwort').State(0);
}
if ( antwort > 0)
{
dom.GetObject('SV DB Antwort').State(1);
}
Wenn ich das Skript Starte, dann bekomme ich nach Kontrolle mit dem Browserbefehl oben, die Antwort von JA bzw. Nein.
Was heist, dass die CCU/CUxD die Dream garnicht abgefragt haben kann mit dem Skript.
Wenn ich CMD_SETS durch CMD_EXEC ersetze, erhalte ich mit dem Browserbefehl zur Kontrolle, die Antwort:False No answer in time
Heist wohl das jetzt der Kontakt CCU/CUxD mit der DReam zum Abfragen stattgefunden hat.
Jemand ein Tip, wie ich die Variable "SV DB Antwort" mit dem Skript gefüllt bekomme?
mfg. Joe
- uwe111
- Beiträge: 4806
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 239 Mal
- Kontaktdaten:
Re: CUxD System-Exec Dreambox abfragen
Hallo Joe,
Bevor Du CMD_RETS bzw. CMD_RETL nutzen kannst, musst Du es immer zuerst mittels CMD_QUERY_RET aktivieren.
Also:
Viele Grüße,
Uwe.
Bevor Du CMD_RETS bzw. CMD_RETL nutzen kannst, musst Du es immer zuerst mittels CMD_QUERY_RET aktivieren.
Also:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: CUxD System-Exec Dreambox abfragen
Hi,
wurde das in den neuen CUxD Versionen so implementiert? Ich benutze noch die 0.570 und da funktioniert es ohne Probleme.
Weißt du auch zufällig den Grund für das jetzige Muss zur Aktivierung?
Viele Grüße
Chris
wurde das in den neuen CUxD Versionen so implementiert? Ich benutze noch die 0.570 und da funktioniert es ohne Probleme.
Weißt du auch zufällig den Grund für das jetzige Muss zur Aktivierung?
Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
- Sammy
- Beiträge: 9172
- Registriert: 09.09.2008, 20:47
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 174 Mal
Re: CUxD System-Exec Dreambox abfragen
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: CUxD System-Exec Dreambox abfragen
Hi,
Danke für den Link!
Viele Grüße
Chris
Danke für den Link!
Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
Re: CUxD System-Exec Dreambox abfragen
Danke Uwe,uwe111 hat geschrieben:Hallo Joe,
Bevor Du CMD_RETS bzw. CMD_RETL nutzen kannst, musst Du es immer zuerst mittels CMD_QUERY_RET aktivieren.
Also:Viele Grüße,Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1); string aw = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Uwe.
hat super geklappt!
Danke Chris, ohne Deine Vorlage würde ich heute noch suchen.
Das blöde ist nur um das Sinnvoll nutzen zu können, muss man Nein sagen um einen Vorgang auszulösen.
Da die Rückmeldung für JA und nichts tun das selbe ist, kann man eigentlich bei der Dream nur das NEIN sinnvoll auswerten.
Ich habe mal jetzt das "True" in Find durch "NO!" ersetzt und das funktioniert dann auch zuverlässig. Da die Variable wirklich nur auf Wahr gesetzt wird, wenn man die Nein-Taste gedrückt hat. Sonst würde die CCU ja immer wenn niemand zuhause ist, die Tür öffnen.
mfg. Joe
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: AW: CUxD System-Exec Dreambox abfragen
Hi Joe,
das ist interessant. Muss ich auch mal auswerten.
Danke für den Hinweis.
Viele Grüße
Chris
Gesendet von meinem A700 mit Tapatalk 2
das ist interessant. Muss ich auch mal auswerten.
Danke für den Hinweis.
Viele Grüße
Chris
Gesendet von meinem A700 mit Tapatalk 2
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
Re: CUxD System-Exec Dreambox abfragen
Ich steige leider nicht dahinter, ich bastle jetzt schon seit Stunden erfolglos herumDowJoe hat geschrieben:Danke Uwe,
hat super geklappt!
Ich möchte den aktuellen Zustand meiner DM abfragen, um sie nicht unabsichtlich mit dem Befehl http://192.168.XXX.XXX/web/powerstate?newstate=0 die Box auszuschalten wenn sie schon läuft. Die Parameter 4 = Wakeup form Standby & 5 = Standby funtionieren leider bei mir nicht. Nur die Parameter 0 = Toogle Standby & 1 = Deepstandby & 2 = Reboot & 3 = Restart Enigma2
Im erweiterten Scriptparser habe ich getestet:
Code: Alles auswählen
string url = "http://192.168.XXX.XXX/web/powerstate";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").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();
! antwort = aw.Find("false");
! if ( antwort == -1 ){dom.GetObject("svh_AW_DM").State(0);
! }
! if ( antwort > 0){dom.GetObject("svh_AW_DM").State(1);
! }
WriteLine(aw);
WriteLine("Ende");
Wenn ich http://192.168.XXX.XXX/web/powerstate im Browser eingebe erhalte ich
<e2powerstate><e2instandby>false
</e2instandby></e2powerstate>
oder
<e2powerstate><e2instandby>true
</e2instandby></e2powerstate>
Ich möchte als nächsten Step einfach nur die Rückmeldung in der Scriptvariablen "aw" stehen haben, dann beschäftige ich mich mit dem Find-Befehl
Was mache ich bis jetzt falsch?
Herzlichen Dank für Eure etwaige Hilfe!
Lg
mxa
Re: CUxD System-Exec Dreambox abfragen
Fehler selbst gefunden!
Falsch:
Richtig:
Jetzt widme ich einmal dem Befehl "x.find". Funktioniert natürlich nicht auf Anhieb
lg
mxa
Falsch:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
lg
mxa