Neues Modul PHTV für Philips Fernseher (inkl. Ambilight)

Begonnen von Loredo, 06 März 2014, 22:09:17

Vorheriges Thema - Nächstes Thema

dermitschi85

Zitat von: Korre am 08 Mai 2017, 18:07:05
Hallo zusammen,
ich habe einen Philips 42PFL7695 (Baujahr 2010) und habe an dem nun über die Zahlenkombination mit der Fernbedienung "joint space" aktiviert.
Nachdem das Popup zur die Aktivierung des  "joint space" bestätigt hat, funktioniert auch die  Philips remote app (auf dem Tablet).
Ich habe dann weiterhin versucht das PHTV Modul damit zu verbinden, nur leider (bisher) ohne Erfolg.

bei ausgeschaltetem Fernseher sehe ich (verbose = 5) folgendes:

2017.05.08 17:40:54 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:40:54 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:40:54 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:40:54 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:40:57 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:40:57 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Keine Route zum Zielrechner
2017.05.08 17:41:15 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:41:15 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:41:15 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:41:15 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:41:18 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:41:18 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Keine Route zum Zielrechner
2017.05.08 17:41:35 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:41:35 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:41:35 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:41:35 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:41:36 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:38 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:41:38 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Keine Route zum Zielrechner
2017.05.08 17:41:38 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:38 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:38 5 : PHTV PhilipsTV: called function PHTV_Get()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:45 3 : PHTV set PhilipsTV statusRequest
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:41:45 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:41:45 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017-05-08 17:41:45 PHTV PhilipsTV statusRequest
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Get()
2017.05.08 17:41:45 5 : PHTV PhilipsTV: called function PHTV_Set()
2017.05.08 17:41:48 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:41:48 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Keine Route zum Zielrechner
2017.05.08 17:41:54 5 : PHTV: Entering PHTV_Notify() for global


bei eingeschaltetem Fernseher sieht es anders aus:

2017.05.08 17:44:45 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:44:45 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:44:45 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:44:45 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:44:46 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:44:46 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:45:05 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:45:05 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:45:05 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:45:05 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:45:05 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:45:05 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:45:06 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:06 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:25 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:45:25 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:45:25 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:45:25 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:45:25 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:45:25 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:45:38 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:38 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:38 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:39 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:39 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:39 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:39 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:40 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:40 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:45:45 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:45:45 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:45:45 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:45:45 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:45:45 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:45:45 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:46:02 5 : PHTV: Entering PHTV_Notify() for global
2017.05.08 17:46:05 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:46:05 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:46:05 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:46:05 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:46:05 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:46:05 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:46:25 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:46:25 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:46:25 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:46:25 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:46:25 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:46:25 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:46:45 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:46:45 5 : PHTV PhilipsTV: called function PHTV_SendCommand()
2017.05.08 17:46:45 4 : PHTV PhilipsTV: REQ system
2017.05.08 17:46:45 5 : PHTV PhilipsTV: GET http://192.168.178.35:1925/1/system
2017.05.08 17:46:45 5 : PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.05.08 17:46:45 4 : PHTV PhilipsTV: RCV TIMEOUT system 192.168.178.35: Verbindungsaufbau abgelehnt
2017.05.08 17:47:05 5 : PHTV PhilipsTV: called function PHTV_GetStatus()
2017.05.08 17:47:05 5 : PHTV PhilipsTV: called function PHTV_SendCommand()


kennt jemand die Ursache anhand der Ausgaben?
Was muss ich tun damit das Modul eine Verbindung bekommt und läuft?
Oder hat jemand einen Tip? bin für alle Hinweise dankbar ;D

Schon mal ne andere JSVERSION versucht? Evtl. die 5er?

Grüße Michi

korreander12

Zitat von: dermitschi85 am 08 Mai 2017, 18:22:26
Schon mal ne andere JSVERSION versucht? Evtl. die 5er?

Grüße Michi

Hallo,
Ja, habe alle drei JSVERSIONEN versucht (1,5 und 6).
Leider ohne Erfolg.

Laut commandref müsste mein Gerät (Bj2010) die "1" brauchen:
jsversion - JointSpace protocol version; e.g. pre2014 devices use 1, 2014 devices use 5 and >=2015 devices use 6. defaults to 1

Loredo

Die alten Geräte haben Jointspace per Default abgeschaltet. Im Netz finden sich Anleitungen, welchen Zahlencode du am Gerät eingeben musst, um das freizuschalten (ich glaube es war JOINTSPACE als T9).
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

korreander12

Zitat von: Loredo am 08 Mai 2017, 19:34:42
Die alten Geräte haben Jointspace per Default abgeschaltet. Im Netz finden sich Anleitungen, welchen Zahlencode du am Gerät eingeben musst, um das freizuschalten (ich glaube es war JOINTSPACE als T9).
Hallo Loredo,
ich habe den Zahlencode wie in der Philips App beschrieben eingegeben und habe auch das Popup als bestätigung erhalten dass "joint space enabled" ist.
Ich gehe mal davon aus, dass also nun Joint Space grundsätzlich aktiv ist.
Habe das gerät ausgeschaltet ( am Netzschalter, nicht nur standby sondern ganz aus) und danach im Home Menü auf Fernsehen , und dann 5646877223 (="jointspace") eingegeben. (die Senderwechsel können ignoriert werden).
- oder gibt das da verschiedene Aktivierungsmethoden ?


TNT0068

Hallo zusammen,
ich habe ein komisches verhalten bei meinem Philips TV. Bis vor ca. einem Monat lief alles normal.
Wenn ich jetzt zB. Das Amibilight oder Volume ändern möchte folgt folgendes:
Set befehl ausgeführt
TV geht im Modul kurz auf state: abesent dann wieder on
aber keine Änderung:Auszug Log Verbose5
Device hatte ich gelöscht neu angelegt
TV zurück gesetzt
Modell: 65PUS9109/12
Json Version 5


2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_GetStatus()
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_SendCommand()
2017.05.12 09:38:44 4: PHTV WZ_Philips: REQ audio/volume
2017.05.12 09:38:44 5: PHTV WZ_Philips: GET http://192.168.10.52:1925/5/audio/volume
2017.05.12 09:38:44 4: PHTV WZ_Philips: sequentialQuery - finished round 18045
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_ReceiveCommand()
2017.05.12 09:38:44 4: PHTV WZ_Philips: RCV audio/volume
2017.05.12 09:38:44 5: PHTV WZ_Philips: RES audio/volume
{"min":0,"current":28,"muted":false,"max":60}
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_GetStatus()
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_SendCommand()
2017.05.12 09:38:44 4: PHTV WZ_Philips: REQ audio/volume
2017.05.12 09:38:44 5: PHTV WZ_Philips: GET http://192.168.10.52:1925/5/audio/volume
2017.05.12 09:38:44 4: PHTV WZ_Philips: sequentialQuery - finished round 18046
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_ReceiveCommand()
2017.05.12 09:38:44 4: PHTV WZ_Philips: RCV audio/volume
2017.05.12 09:38:44 5: PHTV WZ_Philips: RES audio/volume
{"min":0,"current":28,"muted":false,"max":60}
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_GetStatus()
2017.05.12 09:38:44 5: PHTV WZ_Philips: called function PHTV_SendCommand()
2017.05.12 09:38:44 4: PHTV WZ_Philips: REQ audio/volume
2017.05.12 09:38:44 5: PHTV WZ_Philips: GET http://192.168.10.52:1925/5/audio/volume
2017.05.12 09:38:44 4: PHTV WZ_Philips: sequentialQuery - finished round 18047


TV:INTERVAL
45
NAME
WZ_Philips
NOTIFYDEV
global
NR
408
NTFY_ORDER
50-WZ_Philips
STATE
on
TYPE
PHTV
model
QT3KHMSM/IVF/7MUDORWDTOBSZMLUY62NK57NJXT0M4=
swversion
LRe8u/m2Uz4MeUzRBoh9nzgGAV+KNf/HwfjU/APEQJk=
Readings
ambiHue
off
2017-05-12 08:53:21
ambiLEDBottom
6
2017-05-12 08:53:29
ambiLEDLayers
1
2017-05-12 08:53:29
ambiLEDLeft
4
2017-05-12 08:53:29
ambiLEDRight
4
2017-05-12 08:53:29
ambiLEDTop
8
2017-05-12 08:53:29
ambiMode
internal
2017-05-12 09:02:14
bri
0
2017-05-12 08:42:11
channel
-
2017-05-12 08:42:11
channelList
-,
2017-05-12 08:42:12
country
Germany
2017-05-12 08:53:28
currentMedia
-
2017-05-12 08:42:11
frequency
-
2017-05-12 08:42:11
hue
0
2017-05-12 08:42:11
input
-
2017-05-12 08:42:11
inputList
2017-05-12 08:41:19
language
German
2017-05-12 08:53:28
level
0 %
2017-05-12 08:42:11
model
QT3KHMSM/IVF/7MUDORWDTOBSZMLUY62NK57NJXT0M4=
2017-05-12 09:08:00
mute
-
2017-05-12 08:42:11
nettvversion
5.0.0
2017-05-12 08:53:28
onid
-
2017-05-12 08:42:11
pct
0
2017-05-12 08:42:11
power
on
2017-05-12 09:35:09
presence
present
2017-05-12 09:08:00
receiveMode
-
2017-05-12 08:42:11
rgb
000000
2017-05-12 09:33:26
rgb_L1B0
000000
2017-05-12 08:53:37
rgb_L1B1
000000
2017-05-12 08:53:37
rgb_L1B2
000000
2017-05-12 08:53:37
rgb_L1B3
000000
2017-05-12 08:53:37
rgb_L1B4
000000
2017-05-12 08:53:37
rgb_L1B5
000000
2017-05-12 08:53:37
rgb_L1L0
000000
2017-05-12 08:53:37
rgb_L1L1
000000
2017-05-12 08:53:37
rgb_L1L2
000000
2017-05-12 08:53:37
rgb_L1L3
000000
2017-05-12 08:53:37
rgb_L1R0
000000
2017-05-12 08:53:37
rgb_L1R1
000000
2017-05-12 08:53:37
rgb_L1R2
000000
2017-05-12 08:53:37
rgb_L1R3
000000
2017-05-12 08:53:37
rgb_L1T0
000000
2017-05-12 08:53:37
rgb_L1T1
000000
2017-05-12 08:53:37
rgb_L1T2
000000
2017-05-12 08:53:37
rgb_L1T3
000000
2017-05-12 08:53:37
rgb_L1T4
000000
2017-05-12 08:53:37
rgb_L1T5
000000
2017-05-12 08:53:37
rgb_L1T6
000000
2017-05-12 08:53:37
rgb_L1T7
000000
2017-05-12 08:53:37
sat
0
2017-05-12 08:42:11
serialnumber
KKDTYYj/G5HNtmWEx72TmTUtkX59RGKburh/mk+JrUc=
2017-05-12 09:08:00
servicename
-
2017-05-12 08:42:11
sid
-
2017-05-12 08:42:11
softwareversion
LRe8u/m2Uz4MeUzRBoh9nzgGAV+KNf/HwfjU/APEQJk=
2017-05-12 09:08:00
state
on
2017-05-12 09:35:09
stateAV
on
2017-05-12 09:35:09
systemname
wz_tv
2017-05-12 08:53:28
tsid
-
2017-05-12 08:42:11
volume
47
2017-05-12 09:35:09
volumeStraight
28
2017-05-12 09:35:09


danke im Vorraus


Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Loredo

Zitat von: Korre am 09 Mai 2017, 00:13:36
Habe das gerät ausgeschaltet ( am Netzschalter, nicht nur standby sondern ganz aus) und danach im Home Menü auf Fernsehen , und dann 5646877223 (="jointspace") eingegeben. (die Senderwechsel können ignoriert werden).
- oder gibt das da verschiedene Aktivierungsmethoden ?


Ich habe leider keinen solchen TV in den Fingern gehabt bisher und kann daher bei der genauen Aktivierungsprozedur nicht helfen.


Zitat von: TNT0068 am 12 Mai 2017, 09:42:06
ich habe ein komisches verhalten bei meinem Philips TV. Bis vor ca. einem Monat lief alles normal.


Das liegt wahrscheinlich daran, dass du sequentialQuery verwendest. Davon rate ich ab, solange das Gerät es nicht aus Performancegründen nötig macht.


Um Zuge des Versuchs die neueren Philips Geräte mit zu unterstützen sind auch Änderungen am Sequential Query vorgenommen worden. Da gab es einen Loop für die Abfrage der Lautstärke, den ich gerade behoben habe.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

TNT0068

Loredo danke für deine Antwort.

Das Query Attrib hatte ich nur zu test Zwecken reingenommen. Auch nachdem ich es raus genommen habe selbe Fehler.
Habe auch den TV nochmal neu angelegt leider selbe spiel.
Sobald ein Set an den TV gesendet wird geht er in FHEM auf absent(dauer ping ohne Probleme)
Nach 45 Sek(Interval) hat er wieder den Status on, der vorher gesendete Set Befehl wurde nicht ausgeführt am TV.
Ich habe den TV auch schon einmal komplett resetet da ich ihn nur als "Monitor" benutze.

Hast du vielleicht noch eine Idee bzw. brauchst du Logs etc? wenn ja lass es mich wissen

Gruß
Micha
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

cramu

Ich erwäge derzeit die Anschaffung eines der neuen TVs mit Android TV (32PFS6402), allerdings ist die Einbindung in FHEM schon ein Kriterium meiner Kaufentscheidung.
TV ein- und ausschalten, Eingang wählen, Lautstärkewert setzen und im speziellen Falle von Philips eine Steuerung des Ambilight, wären, neben ein paar sinnvollen Readings, schon wünschenswert.

Kann vielleicht ein Besitzer eines aktuellen Modells mal kurz schildern, welche Features des Moduls in Verbindung mit dem TV funktionieren?

kurt6908

Hallo cramu,

wie Du in den vorherigen Beiträgen sehen kannst, funktioniert das Einbinden den neuen Android-TVs von Philips dem Grunde nach.

Du kannst den TV mit Fhem paiiren, die grundsätzlichen Funktionen sind enthalten.

Aber:
Die Implementierung ist noch nicht so ausgereift, dass eine tatsächliche Steuerung funktioniert. Es treten immer noch ein paar Ungereimtheiten auf, so dass es aktuell nichts bringt.

Leider hat der Modulentwickler keinen aktuellen Philips-TV und keine weitere Intention das Modul mit uns Usern weiterzuentwickeln und zu testen.

Ich könnte zwei Perl-Scripts beisteuern die die Steuerung komplett unterstützen, leider fehlen mir die Kenntnisse diese in ein eigenes Modul umzusetzen. Testen könnte ich aber. Also wenn Du modulmässig was machen kannst, entweder das vorhandene Modul anpassen (lassen) oder ein neues entwickeln (lassen). Aus alle Fälle würde es funktionieren.

Viele Grüße
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

dermitschi85

Hey Kurt,

Könntest du mir die beiden Skripts zukommen lassen? Dann versuche ich mich mal.

Gruß Michi

flummie5

Hallo!
Ich habe auch ein Problem mit der Verbindung von PHTV mit meinem neuem 49PUS7181. Fogendes LOG (verbose 5)

http://192.168.17.7:1925/1/audio/volume: HTTP response code 404
2017.07.02 21:13:30 4: HttpUtils http://192.168.17.7:1925/1/audio/volume: Got data, length: 439
2017.07.02 21:13:30 5: HttpUtils response header:
HTTP/1.1 404 Not Found
Date: Sun, 02 Jul 2017 19:13:28 GMT+00:00
Accept-Ranges: bytes
Server: Restlet-Framework/2.3
Content-Length: 439
Content-Type: text/html; charset=UTF-8
2017.07.02 21:13:30 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2017.07.02 21:13:30 4: PHTV PhilipsTV: RCV audio/volume
2017.07.02 21:13:30 5: PHTV PhilipsTV: RES ERROR/404 audio/volume
<html>
<head>
   <title>Status page</title>
</head>
<body style="font-family: sans-serif;">
<p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Not Found</p>
<p>The server has not found anything matching the request URI</p>
<p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">here</a>.<br>
Please continue your visit at our <a href="/">home page</a>.
</p>
</body>
</html>

2017.07.02 21:13:30 4: PHTV PhilipsTV: API command 'audio/volume' not supported by device.


Mit der Android-App lässt er sich bedienen.

Viele Grüße

kurt6908

Hallo  dermitschi85,

schau mal hier, da findest Du das Perl-Script:

https://forum.fhem.de/index.php/topic,21109.msg583611.html#msg583611

Und hier den originalen Code:

https://github.com/suborb/philips_android_tv

Hier nochmal mein angepasstes Perl-Script für das Paiiring:

#!/usr/bin/perl

use strict;
use warnings;
use JSON;
use Digest::SHA qw(hmac_sha1_base64 hmac_sha1_hex);
use MIME::Base64;
use LWP::UserAgent;
use HTTP::Request::Common;
use IO::Socket::SSL;

my $secretkey;
my @chars;
my $len;
my $deviceid;
my $tosign;
my $authsignature;
my %config;
my %devicespec;
my %data;
my $data_json;
my $uri;
my $authTimestamp;
my $authTimeout;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
my $req;
my $res;
my $message;
my %resp;
my $authtimestamp;
my $authtimeout;
my $pin;
my %auth;
my %grantdevice;
my %grant_request;


# Übergabeparameter

# IP-Adresse TV
$config{'address'} = "xxx.xxx.xxx.xxx";

# Secret Key (Base64-encoded) für die HMAC-Signatur
$secretkey = "ZmVay1EQVFOaZhwQ4Kv81ypLAZNczV9sG4KkseXWn1NEk6cXmPKO/MCa9sryslvLCFMnNe4Z4CPXzToowvhHvA==";

# Zufällige 16-stellige Device-ID aufbauen
sub createDeviceId(){
@chars = split("","abcdefghkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789");
$len = 16;
foreach (0..$len-1) {
$deviceid .= $chars[int(rand(@chars))]; 
}
return $deviceid;
}

# HMAC-Signatur (SHA1 Base64-encoded) aufbauen
sub createsignature(){
$secretkey = decode_base64($secretkey);
print "secretkey: ",$secretkey, "\n";
$authsignature = hmac_sha1_hex($tosign, $secretkey);
while (length($authsignature) % 4) {
$authsignature .= '=';
}
$authsignature = encode_base64($authsignature);
chomp $authsignature;
return $authsignature;
}

# JSON-Data für Pairing-Anfrage aufbauen
sub getDeviceSpecJson(){
$data{'device'} =  {
device_name => 'heliotrope',
device_os => 'Android',
app_name => 'ApplicationName',
type => 'native',
app_id => $config{'application_id'},
id => $config{'device_id'},
};
return $data{'device'};
}

# HTTP-Request für Pairing ausführen

$config{'application_id'} = "app.id";
createDeviceId();
$config{'device_id'} = $deviceid;
$data{'scope'} = ["read", "write", "control"];
getDeviceSpecJson();
$data_json = encode_json \%data;
$uri = "https://".$config{'address'}.":1926/6/pair/request";

print "Starting pairing request", "\n";

$res = $ua->post(
  $uri,
  'Content' => $data_json,
  'Content-Type'=>'application/json',
);

# HTTP-Respose auswerten
if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP POST error code: ", $res->code, "\n";
     print "HTTP POST error message: ", $res->message, "\n";
}

%resp = %{decode_json($message)};

$authtimestamp = $resp{'timestamp'};
$config{'auth_key'} = $resp{'auth_key'};
$authtimeout = $resp{'timeout'};

# PIN vom TV eingeben
print "Enter onscreen passcode: ";
$pin = <STDIN>;
chomp $pin;

# JSON-Data für Pairing - Erweiterung aufbauen

$tosign = $authtimestamp.$pin;
createsignature();

%auth = (
"auth_AppId" => "1",
"pin" => $pin,
"auth_timestamp" => $authtimestamp,
"auth_signature" => $authsignature,
);

%grant_request = ();
$grant_request{"auth"} = \%auth;
$grant_request{"device"} = $data{'device'};

# Pairing - Erweiterung ausführen
print "Attempting to pair", "\n";

$uri = "https://".$config{'address'}.":1926/6/pair/grant";
$data_json = encode_json \%grant_request;

print "device_id :",$config{'device_id'},"\n";
print "auth_key :",$config{'auth_key'},"\n";

print "Starting pairing request", "\n";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->post(
    $uri,
    'Content' => $data_json,
    'Content-Type'=>'application/json',
);

# Pairing - Erweiterung auswerten

if ($res->is_success) {
print "HTTP POST code: ", $res->code, "\n";
    $message = $res->decoded_content;
  print "Received reply: $message \n";
}
else {
     print "HTTP POST error code: ", $res->code, "\n";
     print "HTTP POST error message: ", $res->message, "\n";
}

print "Username for subsequent calls is: ", $config{'device_id'}, "\n";
print "Password for subsequent calls is: ", $config{'auth_key'}, "\n";

### Lautstärke abfragen

print "Taste drücken um Lautstärke abzufragen!", "\n";

# Lautstärke abfragen

$pin = <STDIN>;
chomp $pin;

$uri = "https://".$config{'address'}.":1926/6/audio/volume";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}


Und hier ein Perl-Script zum Abfragen einiger Werte:

#!/usr/bin/perl

use strict;
use warnings;
use JSON;
use Digest::SHA qw(hmac_sha1_base64 hmac_sha1_hex);
use MIME::Base64;
use LWP::UserAgent;
use HTTP::Request::Common;
use IO::Socket::SSL;

my $secretkey;
my @chars;
my $len;
my $deviceid;
my $tosign;
my $authsignature;
my %config;
my %devicespec;
my %data;
my $data_json;
my $uri;
my $authTimestamp;
my $authTimeout;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
my $req;
my $res;
my $message;
my %resp;
my $authtimestamp;
my $authtimeout;
my $pin;
my %auth;
my %grantdevice;
my %grant_request;

# All working GET-commands
# config['path'] = "6/channeldb/tv"
# config['path'] = "6/applications"
# config['path'] = "6/ambilight/mode"
# config['path'] = "6/ambilight/topology"
# config['path'] = "6/recordings/list"
# config['path'] = "6/powerstate"
# config['path'] = "6/ambilight/currentconfiguration"
# config['path'] = "6/channeldb/tv/channelLists/all"
# config['path'] = "6/system/epgsource"
# config['path'] = "6/system"
# config['path'] = "6/system/storage"
# config['path'] = "6/system/timestamp"
# config['path'] = "6/menuitems/settings/structure"
# config['path'] = "6/ambilight/cached"

# All working POST-commands
# Standby:
# config['path'] = "6/input/key"
# config['body'] = { "key" : "Standby" }


# Übergabeparameter

# IP-Adresse TV
$config{'address'} = "xxx.xxx.xxx.xxx";
# device_id
$config{'device_id'} = "xxxxxxxxxxxxxxx";
# auth_key
$config{'auth_key'} = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

print "Username for subsequent calls is: ", $config{'device_id'}, "\n";
print "Password for subsequent calls is: ", $config{'auth_key'}, "\n";
print "\n";

# Powerstate abfragen

print "Powerstate abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/powerstate";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Lautstärke abfragen

print "Lautstärke abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/audio/volume";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Ambilight-Mode abfragen

print "Ambilight-Mode abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/ambilight/mode";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Channeldb-TV abfragen

print "Channeldb-TV abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/channeldb/tv";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Stand-by schalten

print "Stand-by schalten\n";
print "Taste drücken!\n";
$pin = <STDIN>;
chomp $pin;

$config{'body'} = {
"key" => "Standby"
};
$data_json = encode_json $config{'body'};

$uri = "https://".$config{'address'}.":1926/6/input/key";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->post(
    $uri,
    'Content-Type'=>'application/json',
'Content' => $data_json,
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "TV wurde ausgeschalten (keine Antwort mehr vom TV)!";
print "\n";


Gruß

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

link611

#357
Zitat von: kurt6908 am 05 Juli 2017, 21:38:08
Hallo  dermitschi85,

schau mal hier, da findest Du das Perl-Script:

https://forum.fhem.de/index.php/topic,21109.msg583611.html#msg583611

Und hier den originalen Code:

https://github.com/suborb/philips_android_tv

Hier nochmal mein angepasstes Perl-Script für das Paiiring:

#!/usr/bin/perl

use strict;
use warnings;
use JSON;
use Digest::SHA qw(hmac_sha1_base64 hmac_sha1_hex);
use MIME::Base64;
use LWP::UserAgent;
use HTTP::Request::Common;
use IO::Socket::SSL;

my $secretkey;
my @chars;
my $len;
my $deviceid;
my $tosign;
my $authsignature;
my %config;
my %devicespec;
my %data;
my $data_json;
my $uri;
my $authTimestamp;
my $authTimeout;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
my $req;
my $res;
my $message;
my %resp;
my $authtimestamp;
my $authtimeout;
my $pin;
my %auth;
my %grantdevice;
my %grant_request;


# Übergabeparameter

# IP-Adresse TV
$config{'address'} = "xxx.xxx.xxx.xxx";

# Secret Key (Base64-encoded) für die HMAC-Signatur
$secretkey = "ZmVay1EQVFOaZhwQ4Kv81ypLAZNczV9sG4KkseXWn1NEk6cXmPKO/MCa9sryslvLCFMnNe4Z4CPXzToowvhHvA==";

# Zufällige 16-stellige Device-ID aufbauen
sub createDeviceId(){
@chars = split("","abcdefghkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789");
$len = 16;
foreach (0..$len-1) {
$deviceid .= $chars[int(rand(@chars))]; 
}
return $deviceid;
}

# HMAC-Signatur (SHA1 Base64-encoded) aufbauen
sub createsignature(){
$secretkey = decode_base64($secretkey);
print "secretkey: ",$secretkey, "\n";
$authsignature = hmac_sha1_hex($tosign, $secretkey);
while (length($authsignature) % 4) {
$authsignature .= '=';
}
$authsignature = encode_base64($authsignature);
chomp $authsignature;
return $authsignature;
}

# JSON-Data für Pairing-Anfrage aufbauen
sub getDeviceSpecJson(){
$data{'device'} =  {
device_name => 'heliotrope',
device_os => 'Android',
app_name => 'ApplicationName',
type => 'native',
app_id => $config{'application_id'},
id => $config{'device_id'},
};
return $data{'device'};
}

# HTTP-Request für Pairing ausführen

$config{'application_id'} = "app.id";
createDeviceId();
$config{'device_id'} = $deviceid;
$data{'scope'} = ["read", "write", "control"];
getDeviceSpecJson();
$data_json = encode_json \%data;
$uri = "https://".$config{'address'}.":1926/6/pair/request";

print "Starting pairing request", "\n";

$res = $ua->post(
  $uri,
  'Content' => $data_json,
  'Content-Type'=>'application/json',
);

# HTTP-Respose auswerten
if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP POST error code: ", $res->code, "\n";
     print "HTTP POST error message: ", $res->message, "\n";
}

%resp = %{decode_json($message)};

$authtimestamp = $resp{'timestamp'};
$config{'auth_key'} = $resp{'auth_key'};
$authtimeout = $resp{'timeout'};

# PIN vom TV eingeben
print "Enter onscreen passcode: ";
$pin = <STDIN>;
chomp $pin;

# JSON-Data für Pairing - Erweiterung aufbauen

$tosign = $authtimestamp.$pin;
createsignature();

%auth = (
"auth_AppId" => "1",
"pin" => $pin,
"auth_timestamp" => $authtimestamp,
"auth_signature" => $authsignature,
);

%grant_request = ();
$grant_request{"auth"} = \%auth;
$grant_request{"device"} = $data{'device'};

# Pairing - Erweiterung ausführen
print "Attempting to pair", "\n";

$uri = "https://".$config{'address'}.":1926/6/pair/grant";
$data_json = encode_json \%grant_request;

print "device_id :",$config{'device_id'},"\n";
print "auth_key :",$config{'auth_key'},"\n";

print "Starting pairing request", "\n";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->post(
    $uri,
    'Content' => $data_json,
    'Content-Type'=>'application/json',
);

# Pairing - Erweiterung auswerten

if ($res->is_success) {
print "HTTP POST code: ", $res->code, "\n";
    $message = $res->decoded_content;
  print "Received reply: $message \n";
}
else {
     print "HTTP POST error code: ", $res->code, "\n";
     print "HTTP POST error message: ", $res->message, "\n";
}

print "Username for subsequent calls is: ", $config{'device_id'}, "\n";
print "Password for subsequent calls is: ", $config{'auth_key'}, "\n";

### Lautstärke abfragen

print "Taste drücken um Lautstärke abzufragen!", "\n";

# Lautstärke abfragen

$pin = <STDIN>;
chomp $pin;

$uri = "https://".$config{'address'}.":1926/6/audio/volume";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}


Und hier ein Perl-Script zum Abfragen einiger Werte:

#!/usr/bin/perl

use strict;
use warnings;
use JSON;
use Digest::SHA qw(hmac_sha1_base64 hmac_sha1_hex);
use MIME::Base64;
use LWP::UserAgent;
use HTTP::Request::Common;
use IO::Socket::SSL;

my $secretkey;
my @chars;
my $len;
my $deviceid;
my $tosign;
my $authsignature;
my %config;
my %devicespec;
my %data;
my $data_json;
my $uri;
my $authTimestamp;
my $authTimeout;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
my $req;
my $res;
my $message;
my %resp;
my $authtimestamp;
my $authtimeout;
my $pin;
my %auth;
my %grantdevice;
my %grant_request;

# All working GET-commands
# config['path'] = "6/channeldb/tv"
# config['path'] = "6/applications"
# config['path'] = "6/ambilight/mode"
# config['path'] = "6/ambilight/topology"
# config['path'] = "6/recordings/list"
# config['path'] = "6/powerstate"
# config['path'] = "6/ambilight/currentconfiguration"
# config['path'] = "6/channeldb/tv/channelLists/all"
# config['path'] = "6/system/epgsource"
# config['path'] = "6/system"
# config['path'] = "6/system/storage"
# config['path'] = "6/system/timestamp"
# config['path'] = "6/menuitems/settings/structure"
# config['path'] = "6/ambilight/cached"

# All working POST-commands
# Standby:
# config['path'] = "6/input/key"
# config['body'] = { "key" : "Standby" }


# Übergabeparameter

# IP-Adresse TV
$config{'address'} = "xxx.xxx.xxx.xxx";
# device_id
$config{'device_id'} = "xxxxxxxxxxxxxxx";
# auth_key
$config{'auth_key'} = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

print "Username for subsequent calls is: ", $config{'device_id'}, "\n";
print "Password for subsequent calls is: ", $config{'auth_key'}, "\n";
print "\n";

# Powerstate abfragen

print "Powerstate abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/powerstate";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Lautstärke abfragen

print "Lautstärke abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/audio/volume";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Ambilight-Mode abfragen

print "Ambilight-Mode abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/ambilight/mode";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Channeldb-TV abfragen

print "Channeldb-TV abfragen\n";

$uri = "https://".$config{'address'}.":1926/6/channeldb/tv";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->get(
    $uri,
    'Content-Type'=>'application/json',
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "\n";

# Stand-by schalten

print "Stand-by schalten\n";
print "Taste drücken!\n";
$pin = <STDIN>;
chomp $pin;

$config{'body'} = {
"key" => "Standby"
};
$data_json = encode_json $config{'body'};

$uri = "https://".$config{'address'}.":1926/6/input/key";

$ua->credentials($config{'address'}.':1926', 'XTV', $config{'device_id'} => $config{'auth_key'});
$res = $ua->post(
    $uri,
    'Content-Type'=>'application/json',
'Content' => $data_json,
);

if ($res->is_success) {
    $message = $res->decoded_content;
print "Received reply: $message \n";
}
else {
     print "HTTP GET error code: ", $res->code, "\n";
     print "HTTP GET error message: ", $res->message, "\n";
}

print "TV wurde ausgeschalten (keine Antwort mehr vom TV)!";
print "\n";


Gruß

Kurt

Hi Kurt,

ich hab mich jetzt über ca. 2 Std. über den kompletten Thread gelesen.
Habe einen 49PUK7100 aus 2015, vermutlich müsste der über jsversion 6 angebunden werden.

Wie ist denn der aktuelle Stand des PHTV Moduls? (Ist ja jetzt doch schon wieder einige Zeit her seit dem letzten Post)

Das war ja der letzte Stand soweit ich weiß?
- Pairing funktioniert, einige Funktionen wie Lauter, Leiser, On, Off, evtl. auch Input laufen?
- Am TV wird häufiger eine neue PIN angezeigt

Sonstige Ungereimtheiten?


Hab' jetzt mal versucht das Device anzulegen, klappt auch, jedoch kann ich keine set oder get Befehle absetzen.
Daraufhin nochmal gelöscht und nochmal versucht, diesmal hab ich alle Befehle, hab aber kein Plan wo ich die Pin eintrage, ein Set device pin xxxx endet mit einem Device not in pair mode - wie aktiviere ich denn den pair mode?
Habe dann nochmal das Device gelöscht und neu angelegt, wieder keine set oder get Befehle... auch nach mehrmaligen Versuchen, WTF?

PingPong

Hallo zusammen,

vielleicht ist meine Frage hier besser aufgehoben, als im Anfänger Forum - zumindest hab ich da keine Antwort bekommen :-)
Ich habe links und rechts von meinem Fernseher zwei Hue Lampen platziert, die ich gerne zur Erweiterung meines Ambilights nutzen würde.
Die hier vorgestellte Lösung habe ich aktuell im Einsatz, allerdings habe auch ich das in diesem Thread Problem der ungenauen Fabtreue.

Ich habe jetzt von einem Tool names Hambisync gelesen. Leider bekomme ich dieses jedoch nicht eingerichtet.
Nutzt jemand von Euch dieses Tool?

VG
Marc

Jan_H

Hallo Kurt!

Ich bekomme bei Deinem Pairingscript die Fehlermeldung:


Starting pairing request
HTTP POST error code: 500
HTTP POST error message: Can't connect to 192.168.1.123:1926 (certificate verify failed)
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./pair.sh line 110.




Hast Du eine Idee woran das liegen könnte? Hat Philips inzwischen ein Zertifikat hinterlegt?

Gruß,
Jan