Internetradios und andere fsapi gesteuerte Geräte HMsteuern

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

surfer09
Beiträge: 113
Registriert: 13.12.2014, 08:51
Hat sich bedankt: 3 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von surfer09 » 24.10.2016, 13:15

Also ich habe nur dieses eine Objekt mit Medion_Radio. Ich habe das Programm gerade noch einmal mit laufendem Radio ausgeführt. Die Variable ändert sich nicht.
Ich habe es gerade nochmal mit dem Write-Skript getestet und es funktioniert wirklich nicht. Auch hier bleibt es bei "Radio ist aus".
Dateianhänge
Write_Skript.jpg
Programm_Variable.jpg

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von alchy » 24.10.2016, 13:27

Was denkst du, wie es mir hilft, ein Bild zu sehen was an den wichtigen Stellen geschwärzt ist. :twisted:
Was willst du damit bezwecken, das Bild zu schwärzen?

Entweder:
Du schaltest das Radio ein führst das Script aus und postest mir die JSON Ausgabe per COPY&PASTE in ein Code Tage hier.
Dann schaltest du das Radio aus, führst wieder das Script aus und postest wieder die JSON Rückgabe per Copy & Paste.

oder
schickst das per PN

oder
du lässt es bleiben.

Alchy

Blacklist................... almost 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.

surfer09
Beiträge: 113
Registriert: 13.12.2014, 08:51
Hat sich bedankt: 3 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von surfer09 » 24.10.2016, 13:41

Hier die JSON-Ausgaben:

Radio aus

Code: Alles auswählen

{
  "ian": "50",
  "i_ven": "52",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist aus\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "2042126595",
  "i_stat": "0",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 2042126595 \/sessionId \n \/fsapiResponse",
  "i_van": "50",
  "httpUserAgent": "",
  "sstatus": "fsapiResponse \n status FS_OK \/status \n value  u8 0 \/u8  \/value \n \/fsapiResponse",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=2042126595",
  "i_PIN": "1234"
}
Radio an:

Code: Alles auswählen

{
  "ian": "50",
  "i_ven": "4",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist aus\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "625579540",
  "i_stat": "0",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 625579540 \/sessionId \n \/fsapiResponse",
  "i_van": "2",
  "httpUserAgent": "",
  "sstatus": "",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=625579540",
  "i_PIN": "1234"
}

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von alchy » 25.10.2016, 01:02

Also wieder mal eine andere Version der Rückgabe, bzw. im eingeschalteten Zustand gar keine Rückgabe. Wenn das immer so ist, reicht auch so etwas auf die Schnelle:

Code: Alles auswählen

!FSAPI gesteuerte Geräte in die Homematic integrieren
!Status des radios integrieren 
!++++++ SETUP FÜR DAS SCRIPT ++++++
var IP_RADIO = "192.168.2.164";   ! IP des zu steuernden Gerätes
var i_PIN = "1234";      ! Pin des zu steuernden Gerätes
var CUXD_ID1 = "CUX2801001:1";    ! CUXD Serial Nummer des CUXD_EXEC Kanales zum Holen der SessionID
var CUXD_ID2 = "CUX2801001:2";   ! CUXD Serial Nummer des CUXD_EXEC Kanales zum Absenden des Befehls
!++++++ SETUP ENDE ++++++
var url = "http://"#IP_RADIO#"/fsapi/CREATE_SESSION?pin="#i_PIN#"";
dom.GetObject("CUxD."#CUXD_ID1#".CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD."#CUXD_ID1#".CMD_QUERY_RET").State(1);
string sback = dom.GetObject("CUxD."#CUXD_ID1#".CMD_RETS").State();
integer ian = sback.Find("sessionId")+10;
integer ien = ian +10;
integer i_SID = sback.Substr(ian,ien-ian);
!SessionID geholt weiter mit Abfrage ob an
var urlstatus = "http://"#IP_RADIO#"/fsapi/GET/netRemote.play.status?pin="#i_PIN#"&sid="#i_SID #"";
dom.GetObject("CUxD."#CUXD_ID2#".CMD_SETS").State("wget -q -O - '"#urlstatus#"'");
dom.GetObject("CUxD."#CUXD_ID2#".CMD_QUERY_RET").State(1);
string sstatus = dom.GetObject("CUxD."#CUXD_ID2#".CMD_RETS").State();
integer i_van = sstatus.Find("u8");
if (i_van > -1) { 
WriteLine("Radio ist an"); 
} else { 
WriteLine("Radio ist aus");
}
Ich wusste doch, das
surfer09 hat geschrieben: Der Script Executor gibt die richtigen Werte aus.
falsch war.

Alchy
Zuletzt geändert von alchy am 25.10.2016, 11:28, insgesamt 1-mal geändert.
Grund: quote berichtigt

Blacklist................... almost 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.

surfer09
Beiträge: 113
Registriert: 13.12.2014, 08:51
Hat sich bedankt: 3 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von surfer09 » 26.10.2016, 09:37

Guten Morgen,

so ich hab´s gerade mit der neuen Version getestet, funktioniert aber immer noch nicht. Ich habe festgestellt, das sich der Zustand scheinbar sekündlich verändert. Ich habe die JSON Ausgaben mal angehangen. Das sind die beiden unterschiedlichen Ergebnisse, wenn ich das Skript kurz hintereinander über den Skript Executor ausführe, wenn das Radio läuft:

Code: Alles auswählen

{
  "ian": "50",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist aus\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "584732493",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 584732493 \/sessionId \n \/fsapiResponse",
  "i_van": "-1",
  "httpUserAgent": "",
  "sstatus": "",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=584732493",
  "i_PIN": "1234"
}
5 Sekunden später...

Code: Alles auswählen

{
  "ian": "50",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist an\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "1194486127",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 1194486127 \/sessionId \n \/fsapiResponse",
  "i_van": "47",
  "httpUserAgent": "",
  "sstatus": "fsapiResponse \n status FS_OK \/status \n value  u8 2 \/u8  \/value \n \/fsapiResponse",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=1194486127",
  "i_PIN": "1234"
}
Auch wenn ich nach der Auführung länger warte, ändert sich der Zustand immer wieder, obwohl das Radio an ist.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von alchy » 26.10.2016, 18:29

Die 5 Sekunden später Mitteilung ist die, die ich eigentlich bei eingeschalteten Radio immer erwarten würde (nach den alten Aufzeichnungen)

Da sich die Rückgaben wohl im eingeschalteten Zustand immer ändern,
poste mal die JSON Rückgaben bei AUSgeschaltenden Zustand,
wenn du das Script mehrfach startest.

Alchy

Blacklist................... almost 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.

surfer09
Beiträge: 113
Registriert: 13.12.2014, 08:51
Hat sich bedankt: 3 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von surfer09 » 26.10.2016, 19:13

Hallo,

Radio ist aus:

Code: Alles auswählen

{
  "ian": "50",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist aus\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "800070974",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 800070974 \/sessionId \n \/fsapiResponse",
  "i_van": "-1",
  "httpUserAgent": "",
  "sstatus": "",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=800070974",
  "i_PIN": "1234"
}
10 Sekunden später:

Code: Alles auswählen

{
  "ian": "50",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist an\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "1466118149",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 1466118149 \/sessionId \n \/fsapiResponse",
  "i_van": "47",
  "httpUserAgent": "",
  "sstatus": "fsapiResponse \n status FS_OK \/status \n value  u8 0 \/u8  \/value \n \/fsapiResponse",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=1466118149",
  "i_PIN": "1234"
}
nochmal 10 Sekunden später:

Code: Alles auswählen

{
  "ian": "50",
  "sessionId": "",
  "CUXD_ID1": "CUX2801001:1",
  "CUXD_ID2": "CUX2801001:2",
  "STDOUT": "Radio ist aus\r\n",
  "url": "http:\/\/192.168.1.195\/fsapi\/CREATE_SESSION?pin=1234",
  "ien": "60",
  "IP_RADIO": "192.168.1.195",
  "i_SID": "750095469",
  "sback": "fsapiResponse \n status FS_OK \/status \n sessionId 750095469 \/sessionId \n \/fsapiResponse",
  "i_van": "-1",
  "httpUserAgent": "",
  "sstatus": "",
  "urlstatus": "http:\/\/192.168.1.195\/fsapi\/GET\/netRemote.play.status?pin=1234&sid=750095469",
  "i_PIN": "1234"
}
Ein bisschen merkwürdig, das das andauernd hin- und herspringt..

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von alchy » 26.10.2016, 20:18

Jupp, auch im ausgeschalteten Zustand ist ags. KEINE 100% tige Abfrage möglich. Zumindest bietet die erste Abfrage keine Rückgabe.
Wäre noch die Möglichkeit den Zustand auf 3 Möglichkeiten festzulegen. EIN/AUS/UNBEKANNT und das in eine Wertelistevariable zu schreiben.

Plan B - das Anpingen des Gerätes zu benutzen ist damit auch nicht umsetzbar, da es im ausgeschaltenen Modus immer noch eine Rückgabe bietet.


Alchy

Blacklist................... almost 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.

surfer09
Beiträge: 113
Registriert: 13.12.2014, 08:51
Hat sich bedankt: 3 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von surfer09 » 26.10.2016, 21:49

Okay, schade aber n Versuch war's ja wert. Trotzdem Danke!

Suedtschech
Beiträge: 23
Registriert: 30.07.2015, 20:07
System: CCU
Hat sich bedankt: 1 Mal

Re: Internetradios und andere fsapi gesteuerte Geräte HMsteu

Beitrag von Suedtschech » 13.11.2016, 14:37

Hallo Zusammen, Hallo Alchy

Danke für die tollen Scripte in diesem Thread.

Habe in meinem Bad keinen guten Radioempfang.
Als Ich dann auf der Suche nach Abhilfe war bin Ich auf diesen Thread gestossen.
Habe mir den Hama IR 110 zugelegt und lasse jetzt dein Script über den Lichtschalters des Badezimmers laufen.
Radio schaltet sich wunderbar mit dem Licht ein und aus.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“