Seite 1 von 1

Infos zur Nhttp API

Verfasst: Di 26. Nov 2019, 18:34
von farout
Hallo liebe Boardmember,

hoffentlich bin ich hier Richtig.

Ich habe eine Coolstream Tank möchte diese über OpenHab bedienen.

Hinbekommen habe ich schon das ich z.b. über http://boxIP/control/rcem?KEY_RED die Box bedienen kann.
Hierzu habe ich natürlich schon entsprechende Links gefunden:

http://www.eventghost.net/forum/viewtopic.php?f=1&t=33

Und zur Nhttp API auch schon etwas:

https://github.com/tuxbox-neutrino/gui- ... olapi.html

Ist das das Richtige was ich schon gefunden habe ? Oder gibt es noch was Aktuelleres ?

Im Speziellen such ich noch den Befehl über http den aktuellen Sender und die aktuelle Sendung abzurufen.


Viele Grüße

farout

Re: Infos zur Nhttp API

Verfasst: Di 26. Nov 2019, 18:52
von dryeye
hallo,
evtl. kannst du mit der datei im anhang etwas anfangen....

Re: Infos zur Nhttp API

Verfasst: Di 26. Nov 2019, 20:46
von farout
Hi,

vielen Dank.

Da sind ein paar Infos drinne die ich noch nicht hatte.

Gruß
Peter

Re: Infos zur Nhttp API

Verfasst: Di 26. Nov 2019, 20:58
von vanhofen
Die Dokumentation der controlapi ist leider im Laufe der Jahre etwas in den Hintergrund gerückt. Kurz gesagt, sie ist nicht aktuell.
Einige Funktionen sind aber im Code selbst durchaus gut dokumentiert. Vielleicht findest du da, was du suchst.

Hier mal ein Beispiel: https://github.com/neutrino-images/ni-n ... .cpp#L2020

Re: Infos zur Nhttp API

Verfasst: Mi 27. Nov 2019, 06:26
von farout
Hi vanhofen,

Ok da werde ich mich mal durch lesen.

Was mir noch fehlt ist wie ich den aktuellen Sender und die Sendung abrufen kann.
Wie zb. bei Enigma:

https://smarthome-training.com/en/openh ... p-binding/

Viele Grüße

Farout

Re: Infos zur Nhttp API

Verfasst: Mi 27. Nov 2019, 15:48
von Don de Deckelwech
Hi,
https://github.com/neutrino-images/ni-n ... .cpp#L1475
/control/getchannel liefert den aktuellen Kanal.

Ciao,
DdD.

Re: Infos zur Nhttp API

Verfasst: Mi 27. Nov 2019, 16:36
von fred_feuerstein
Du kannst auch mal schauen. für FHEM gibts ein Modul für Neutrino Receiver. Das habe ich selbst im Einsatz.

Da solltest Du auch die relevanten Befehle finden:

Re: Infos zur Nhttp API

Verfasst: Mi 27. Nov 2019, 20:21
von farout
Hi,

Ok ok wieder ein bisschen weiter.

Aktuellen Sender abfragen klappt. Danke don.

Und wie kann ich die aktuelle Sendung abfragen ?

EDIT:

Habs gefunden:

Code: Alles auswählen

http://192.168.2.116/control/getchannel?format=plain&epg=true
Dann kommt z.b. zurück:

Code: Alles auswählen

4294967295 bf30044100012f1c VOX (Rampensau)
Viele Grüße

farout

Re: Infos zur Nhttp API

Verfasst: Sa 30. Nov 2019, 11:57
von farout
Hallo Leute,

Habe meine Coolstream Remote mit OpenHab fertig:

coolstream.items:

Code: Alles auswählen

String Coolstream                  { http=">[*:POST:http://192.168.2.116/control/rcem?%2$s]" }
Und dann in der Sitemap die Befehle direkt gemapped:

Code: Alles auswählen

Switch    item=Coolstream mappings=[KEY_POWER="POWER",KEY_MUTE="MUTE"]
Switch    item=Coolstream mappings=[KEY_EXIT="EXIT",KEY_HOME="HOME",KEY_OK="OK",KEY_EPG="EPG"]
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_GREEN="GREEN",KEY_YELLOW="YELLOW",KEY_BLUE="BLUE"]
Switch    item=Coolstream mappings=[KEY_PLAY="PLAY",KEY_PAUSE="PAUSE",KEY_RECORD="RECORD",KEY_STOP="STOP"]
Um von der Box den Aktuellen Sender und die Sendung bekommen habe ich zwei Scripts und das exec Binding benutzt.

Zunächst zwei Scripts die mir den Sendernamen und die Sendung aus dem Json Request holen:
Diese Scripts liegen in /etc/openhab2/scripts/ und müssen über die Console mit "Sudo Chmod 755" ausführbar gemacht werden.

getsender.sh:

Code: Alles auswählen

#!/bin/bash
curl -s 'http://192.168.2.116/control/getchannel?format=json&epg=true' |perl -ne 'print "$1" if /name": "([^"]+)"/'
getinfo.sh:

Code: Alles auswählen

#!/bin/bash
curl -s 'http://192.168.2.116/control/getchannel?format=json&epg=true' |perl -ne 'print "$1\n" if /description": "([^"]+)"/g' |head -1
Dann meine exec.things:

Code: Alles auswählen

Thing exec:command:getsender [command="/etc/openhab2/scripts/./getsender.sh", interval=15, timeout=5]
Thing exec:command:getinfo   [command="/etc/openhab2/scripts/./getinfo.sh", interval=15, timeout=5]
Die items dazu:

Code: Alles auswählen

String Sender "[%s]" {channel="exec:command:getsender:output"}
String Sendung "[%s]" {channel="exec:command:getinfo:output"}
Und die Sitemap:

Code: Alles auswählen

Text      label="Sender"           item=Sender        icon="none"
Text      label="Sendung"          item=Sendung       icon="none"
Und so kann das dann in der Sitemap aussehen:
Bildschirmfoto 2019-11-29 um 22.40.55.png
Viel Spass!