[GELÖST] Coolstream Satreceiver Remote via Http
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
[GELÖST] Coolstream Satreceiver Remote via Http
Hallo Zusammen,
mein Satreceiver "Coolstream Tank" hat eine http Schnittstelle/Control API:
https://github.com/tuxbox-neutrino/gui- ... olapi.html
Hier kann ich über einfache http befehle die Box steuern. Es gibt zwar auch eine extra App (Android) dafür aber
da ich meinen Denon Reciever schon über OH steuern kann soll nun auch der Satreceiver über OH bedient werden können.
Völlig ausreichend ist die "OK" "UP" "DOWN" "LEFT" "RIGHT" "HOME" Taste/Button.
Diese Befehle sehen in http z.b. so aus:
http://BoxIp/control/rcem?KEY_OK als command für die OK Taste auf der Fernbedienung
http://BoxIp/control/rcem?KEY_UP
http://BoxIp/control/rcem?KEY_DOWN .... usw.
Ich könnte mir auch die Senderliste usw. ausgeben lassen, das benötige ich aber zur Zeit noch nicht.
Wie kann ich denn so einen http Befehl auf einen Button in der OpenHAB BasicUi legen und dann an die Box senden ?
Viele Grüße
Peter
mein Satreceiver "Coolstream Tank" hat eine http Schnittstelle/Control API:
https://github.com/tuxbox-neutrino/gui- ... olapi.html
Hier kann ich über einfache http befehle die Box steuern. Es gibt zwar auch eine extra App (Android) dafür aber
da ich meinen Denon Reciever schon über OH steuern kann soll nun auch der Satreceiver über OH bedient werden können.
Völlig ausreichend ist die "OK" "UP" "DOWN" "LEFT" "RIGHT" "HOME" Taste/Button.
Diese Befehle sehen in http z.b. so aus:
http://BoxIp/control/rcem?KEY_OK als command für die OK Taste auf der Fernbedienung
http://BoxIp/control/rcem?KEY_UP
http://BoxIp/control/rcem?KEY_DOWN .... usw.
Ich könnte mir auch die Senderliste usw. ausgeben lassen, das benötige ich aber zur Zeit noch nicht.
Wie kann ich denn so einen http Befehl auf einen Button in der OpenHAB BasicUi legen und dann an die Box senden ?
Viele Grüße
Peter
Zuletzt geändert von PeterA am 29. Nov 2019 22:03, insgesamt 1-mal geändert.
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Coolstream Satreceiver Remote via Http
Dafür gibt es das http Binding 

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Coolstream Satreceiver Remote via Http
Hi Udo,
danke für den Hinweis, das funktioniert!
Hier die coolstream.items
Und hier die passend der Auszug aus Sitemap:
Gruß
Peter
danke für den Hinweis, das funktioniert!
Hier die coolstream.items
Code: Alles auswählen
Switch Coolstream_Power { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_POWER]" }
Switch Coolstream_Mute { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_MUTE]" }
Switch Coolstream_Ok { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_OK]" }
Switch Coolstream_Home { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_HOME]" }
Switch Coolstream_Up { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_UP]" }
Switch Coolstream_Down { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_DOWN]" }
Switch Coolstream_Left { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_LEFT]" }
Switch Coolstream_Right { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_RIGHT]" }
Switch Coolstream_Red { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_RED]" }
Switch Coolstream_Green { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_GREED]" }
Switch Coolstream_Yellow { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_YELLOW]" }
Switch Coolstream_Blue { http=">[*:POST:http://192.168.2.116/control/rcem?KEY_BLUE]" }
Code: Alles auswählen
Text label="Coolstream Tank" icon="screen"
Switch item=Coolstream_Power mappings=[ON="An", OFF="Aus"]
Switch item=Coolstream_Mute mappings=[ON="An", OFF="Aus"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Home mappings=[ON="HOME"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Ok mappings=[ON="OK"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Down mappings=[ON="DOWN"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Up mappings=[ON="UP"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Left mappings=[ON="LEFT"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Right mappings=[ON="RIGHT"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Red mappings=[ON="RED"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Green mappings=[ON="GREEN"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Yellow mappings=[ON="YELLOW"] visibility=[Coolstream_Power==ON]
Switch item=Coolstream_Blue mappings=[ON="BLUE"] visibility=[Coolstream_Power==ON]
Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Coolstream Satreceiver Remote via Http
Ja, das sollte funktionieren. Du könntest allerdings auch ein String Item verwenden:
und dann in der Sitemap direkt die Befehle mappen:
Visibility geht so natürlich nicht so ohne Weiteres. Andererseits ist der Code ja auch geschummelt, denn Du hast keine Kontrolle darüber, in welche Richtung der Schalter toggelt, wenn Du Power sendest.
Code: Alles auswählen
String Coolstream { http=">[*:POST:http://192.168.2.116/control/rcem?%2$s]" }
Code: Alles auswählen
Switch item=Coolstream mappings=[KEY_POWER="POWER",KEY_MUTE="MUTE"]
Switch item=Coolstream mappings=[KEY_HOME="HOME",KEY_OK="OK"]
Switch item=Coolstream mappings=[KEY_UP="UP",KEY_DOWN="DOWN"]
Switch item=Coolstream mappings=[KEY_LEFT="LEFT",KEY_RIGHT="RIGHT"]
Switch item=Coolstream mappings=[KEY_RED="RED",KEY_GREED="GREEN",KEY_YELLOW="YELLOW",KEY_BLUE="BLUE"]
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Coolstream Satreceiver Remote via Http
Hi Udo,
danke für diese Version. Soweit funktionierts ja.
Der nächste Schritt wäre nun Sender und Sendung in der Sitemap anzeigen zu lassen.
Hierzu habe ich etwas bei Git gefunden:
https://github.com/neutrino-images/ni-n ... .cpp#L2020
Mal sehen ob ich hiermit weiter komme.
Von einer anderen Gui weiß ich das hier auch mit RegEX gearbeitet werden muss:
https://smarthome-training.com/en/openh ... tegration/
Gruß
Peter
danke für diese Version. Soweit funktionierts ja.
Der nächste Schritt wäre nun Sender und Sendung in der Sitemap anzeigen zu lassen.
Hierzu habe ich etwas bei Git gefunden:
https://github.com/neutrino-images/ni-n ... .cpp#L2020
Mal sehen ob ich hiermit weiter komme.
Von einer anderen Gui weiß ich das hier auch mit RegEX gearbeitet werden muss:
https://smarthome-training.com/en/openh ... tegration/
Gruß
Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Coolstream Satreceiver Remote via Http
So, jetzt bin ich etwas weiter:
Mit diesem Befehl kann ich den aktuellen Sender abrufen:
dann kommt im Browser folgendes zurück:
EDIT:
Und mit diesem Befehl:
Kommt dann z.b. folgendes zurück:
Die Ausgabe könnte auch in XML oder Json erfolgen.
JSON:
Und hier ist genau das enthalten welches ich in der Sitemap haben möchte
"ZDF HD" und "Bares für Rares"
Wie kann ich erstens die Zahlen wegschneiden und zweitens Sender und Sendung in jeweils einer Zeile anzeigen lassen ?
Gruß
Peter
Mit diesem Befehl kann ich den aktuellen Sender abrufen:
Code: Alles auswählen
http://192.168.2.xxx/control/getchannel
Code: Alles auswählen
4294967295 b24803f300012b66 ZDF HD
Und mit diesem Befehl:
Code: Alles auswählen
http://192.168.2.xxx/control/getchannel?format=plain&epg=true
Code: Alles auswählen
4294967295 b24803f300012b66 ZDF HD (Bares für Rares)
JSON:
Code: Alles auswählen
{"success": "true", "data":{"channel": [{"id": "b24803f300012b66",
"short_id": "3f300012b66",
"epg_id": "b24803f300012b66",
"short_epg_id": "3f300012b66",
"name": "ZDF HD",
"logo": "/share/tuxbox/neutrino/icons/logo/3f300012b66.png"
,"isActiveChannel": "true"
,"firstEPG": {"eventid": "284571206477548797",
"description": "Bares für Rares",
"info1": "Deutschlands größte Trödel-Show",
"info2": "Trödel-Show, Deutschland 2019\n\"Bares für Rares\" auf Schloss Drachenburg: Für die 20.15-Uhr-Ausgabe rollt Horst Lichter den roten Teppich für Raritätenbesitzer aus. Verstärkung hat er von sieben Händlern und vier Experten.\nSie begutachten ganz besondere große Schätze und kleine Kuriositäten. Wie viel sind Oldtimer, Diamantring und Reliquie wirklich wert? Jetzt ist Geschick gefragt! Wer bekommt die Händlerkarte und hat die beste Taktik bei den Händlern?\nModeration: Horst Lichter\nHD-Produktion",
"startTime": "20:15",
"timeTotal": "90",
"timeElapsed": "76",
"percentage": "84"
}
,"secondEPG": {"eventid": "284571206477548798",
"description": "heute journal",
"info1": "Wetter",
"info2": "Neue EU-Kommission gewählt - Ursula von der Leyen im Gespräch\nGeneraldebatte im Bundestag - Opposition rechnet mit Groko ab\nWeltmeister in der Bundesliga - Klinsmann wird Coach bei Hertha BSC Moderation: Marietta Slomka\nHD-Produktion",
"startTime": "21:45",
"timeTotal": "30"
}
}
]
}}
Und hier ist genau das enthalten welches ich in der Sitemap haben möchte
"ZDF HD" und "Bares für Rares"
Wie kann ich erstens die Zahlen wegschneiden und zweitens Sender und Sendung in jeweils einer Zeile anzeigen lassen ?
Gruß
Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Coolstream Satreceiver Remote via Http
Wenn der Sendername und die Sendung nach dem 2. Leerzeichen kommen, sähe die REGEXP so aus:
Den Bindingteil habe ich mir jetzt geschenkt, die REGEX kann man natürlich auch direkt im Request verwenden, statt im Label, dann landet der String direkt im Status
Für JSON sähe es so aus:
Wenn Du den Text nicht pur weiterverarbeiten willst, reicht es, ein Item zu verwenden und in der Sitemap nur unterschiedliche Label zu nutzen.
Beides ist aber nicht getestet, sondern nur "ausgerechnet"
Code: Alles auswählen
String MyItem "Programm [REGEX([0-9]* [0-9,a-f]* (.*)):%s]" // Sender und Sendung
String MyItem "Sender [REGEX([0-9]* [0-9,a-f]* (.*) \(.*):%s]" // Sender
String MyItem "Sendung [REGEX([0-9]* [0-9,a-f]* (\(.*)):%s]" // Sendung mit Klammern
String MyItem "Sendung [REGEX([0-9]* [0-9,a-f]* \((.*)\)):%s]" // Sendung ohne Klammern
Für JSON sähe es so aus:
Code: Alles auswählen
String MyItem "Sender [JSONPATH($.data.channel.[0].name):%s]" // Sender
String MyItem "Sendung [JSONPATH($.data.channel.[0].firstEPG.description):%s]" // Sendung
Beides ist aber nicht getestet, sondern nur "ausgerechnet"

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Coolstream Satreceiver Remote via Http
Hi Udo,
ok. Aber wie bekomme ich jetzt den http Aufruf damit "Verknüpft" das habe ich noch nicht verstanden..
ok. Aber wie bekomme ich jetzt den http Aufruf damit "Verknüpft" das habe ich noch nicht verstanden..
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Coolstream Satreceiver Remote via Http
Na, das ist ein Item, Du musst nur das Binding in {} hinter das Label schreiben, z.B. so:
Alternativm den Text direkt in den Status:
Natürlich muss das http Binding installiert sein, genauso wie REGEX oder alternativ (mit angepasster Konfiguration) JSONPATH
Code: Alles auswählen
String MyItem "Sender [REGEX([0-9]* [0-9,a-f]* (.*) \(.*):%s]" {http="<http://192.168.2.xxx/control/getchannel?format=plain&epg=true:60000:default"} // Sender
Code: Alles auswählen
String MyItem "Sender [%s]" {http="<http://192.168.2.xxx/control/getchannel?format=plain&epg=true:60000:REGEX([0-9]* [0-9,a-f]* (.*) \(.*)"} // Sender
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Coolstream Satreceiver Remote via Http
Hi Udo,
Das ist das Item.
Wenn ich das Speicher kommt im log das:
Code: Alles auswählen
String MyItem "Sender [REGEX([0-9]* [0-9,a-f]* (.*)):%s]" {http="<http://192.168.2.116/control/getchannel?format=plain&epg=true:60000:default"} // Sender
Wenn ich das Speicher kommt im log das:
Code: Alles auswählen
2019-11-28 19:39:32.716 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'coolstream.items'
2019-11-28 19:39:32.730 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'http' of item 'MyItem' could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: bindingConfig '<http://192.168.2.116/control/getchannel?format=plain&epg=true:60000:default' doesn't contain a valid binding configuration
- OpenHab 2.4
#PWRUP
#PWRUP