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

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

Vorheriges Thema - Nächstes Thema

wopper

Zitat von: Loredo am 03 Mai 2014, 13:08:45
Die tatsächlich richtigen Namen findest du eher im Attribut "inputs"

Die vom Gerät ausgelesenen Inputs sind:

inputs Fernsehen:Wdg._über_Satellit:HDMI_1:DVD-Player:HDMI_3:HDMI_4:HDMI_5:SCART:Y_Pb_Pr:VGA


Ein set input HDMI_1 funktioniert leider trotzdem nicht: Unknown source input 'HDMI_1' on that device.

Loredo

Womöglich hast du die Eingänge zwischenzeitlich am TV umbenannt. Lösche das Attribut nochmals und mach ein statusRequest. Das sollte die Inputs neu auslesen.
Alternativ bitte vorübergehend mal Verbose=5 setzen und die Logfile-Ausgabe von statusRequest posten.
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

wopper

Das wiederholte Einlesen hat keine Besserung gebracht.


2014.05.07 19:51:03 4: http://192.168.178.20:1925/1/sources: HTTP response code 200
2014.05.07 19:51:03 4: HttpUtils http://192.168.178.20:1925/1/sources: Got data, length: 340
2014.05.07 19:51:03 5: PHTV WZ.PhilipsTV: called function PHTV_ReceiveCommand()
2014.05.07 19:51:03 4: PHTV WZ.PhilipsTV: RCV sources
2014.05.07 19:51:03 5: PHTV WZ.PhilipsTV: RES sources
{
"11": {
"name": "Fernsehen"
},
"17": {
"name": "Wdg. über Satellit"
},
"30": {
"name": "HDMI 1"
},
"31": {
"name": "DVD-Player"
},
"32": {
"name": "HDMI 3"
},
"33": {
"name": "HDMI 4"
},
"34": {
"name": "HDMI 5"
},
"35": {
"name": "SCART"
},
"36": {
"name": "Y Pb Pr"
},
"37": {
"name": "VGA"
}
}

2014.05.07 19:51:03 5: PHTV WZ.PhilipsTV: called function PHTV_SendCommand()
2014.05.07 19:51:03 4: PHTV WZ.PhilipsTV: REQ sources/current
2014.05.07 19:51:03 5: PHTV WZ.PhilipsTV: GET http://192.168.178.20:1925/1/sources/current
2014.05.07 19:51:03 4: HttpUtils url=http://192.168.178.20:1925/1/sources/current



2014.05.07 20:00:03 5: Cmd: >set WZ.PhilipsTV input HDMI_3<
2014.05.07 20:00:03 5: PHTV WZ.PhilipsTV: called function PHTV_Set()
2014.05.07 20:00:03 2: PHTV set WZ.PhilipsTV input HDMI_3
2014.05.07 20:00:03 5: PHTV WZ.PhilipsTV: called function PHTV_SendCommand()
2014.05.07 20:00:03 5: PHTV WZ.PhilipsTV: API command 'sources/current' not supported by device.


Laut den Log Informationen würde ich sagen, dass mein TV 42PFL6057K/12 die Funktion nicht unterstützt?!

Loredo

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

wopper

TV steht auf Fernsehsender (Satellit VOX)

http://192.168.178.20:1925/1/sources/current


Alle Inputs werden so ausgegeben:


{
"11": {
"name": "Fernsehen"
},
"17": {
"name": "Wdg. über Satellit"
},
"30": {
"name": "HDMI 1"
},
"31": {
"name": "DVD-Player"
},
"32": {
"name": "HDMI 3"
},
"33": {
"name": "HDMI 4"
},
"34": {
"name": "HDMI 5"
},
"35": {
"name": "SCART"
},
"36": {
"name": "Y Pb Pr"
},
"37": {
"name": "VGA"
}
}


Weder ID noch Name führen zum Erfolg. :(

andreas13

Hallo Loredo,

klasse Arbeit.

Wenn ich JSON installiere (ala http://www.fhemwiki.de/wiki/Hue) und an folgenden Stellen

Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/70_PHTV.pm line 279, near "} )"
Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/70_PHTV.pm line 2057, near "$return ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/70_PHTV.pm line 2058, near "} ) "
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/70_PHTV.pm line 2059, near "} ) "


"keys Ausdruck" durch "keys %{Ausdruck}" ersetze

also z.B.

#my $count = scalar( keys $hash->{helper}{device}{channelPreset} );
my $count = scalar( keys %{$hash->{helper}{device}{channelPreset}} );


funktioniert es auch auf meiner auf der FritzBox.

Ich habe nur rudimentäre Perl-Kenntnisse, aber wenn Du die Änderung ok findest, würde ich mich freuen, wenn Du sie in Dein Modul einbauen könntest.

Viele Grüße

Andreas
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

Phil__

Hallo alle zusammen,

habe mir ein paar Hue Lightstripes zugelegt.
Mein TV (Philips 55PFL7008k) hat 3-Seitiges Ambilight.
Nun habe ich mit einem Lightstripe den TV auf der Unterseite um Ambilight ergänzt, mit dem zweiten Lightstripe leuchte ich indirekt die Raumdecke an.

Erste Lightstripe, Unterseite TV:
attr PhilipsTV ambiHueRight HUEDevice2:4
(Hier, dachte ich mir, nehme ich die 4. LED der rechten Seite. In den readings des TV sind Left und Right mit 4 angegeben)

Zweite Lightstripe, Decke über TV:
attr PhilipsTV ambiHueTop HUEDevice1:4-6
(Hier, dachte ich mir, mittel ich über die LEDs 4-6 LED von oben. In den readings des TV ist Top mit 9 angegeben)

Leider ist, wie auf dem Screenshot zu sehen, vorallem das Ergebnis der Unterseite des TVs nicht wirklich zufriedenstellend.
Der rechte Rand des TVs leuchtet grün (Bereich 4. LED) und die Unterseite in Orange-Rot.


Kann mir da jemand weiterhelfen? Tipps? Bzw. mache ich Fehler / habe ich einen Denkfehler?

@Loredo: Hast du eine Idee, einen Tipp?


Viele Grüße
Phil
Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

westpaket

#97
hallo,
tolles modul, kann ich gut gebrauchen.  :D
wollte das al meines philips tagsüber automatisch abschalten, macht da ja kaum sinn.

bin newbee auf dem thema fhem und hab nach der info von andreas13 nun auch auf der fb phtv am laufen.
leider kommt beim set noch folgender fehler, timeout hab ich schonmal auf 7 hoch genommen.
die channels sind aber komischerweise angekommen.

2014.05.14 13:06:31 3: PHTV PhilipsTV: API command 'sources/current' not supported by device.
2014.05.14 13:06:36 3: PHTV PhilipsTV: API command 'channels/current' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_all' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_favourite' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_radio' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_tv' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_all' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_favourite' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_radio' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_tv' not supported by device.
Use of uninitialized value in concatenation (.) or string at ./FHEM/70_PHTV.pm line 282.
...


jedes set für einen channel bringt dann den fehler der zeile 282 ...
danke

Phil__

Hallo,

ich habe noch ein weiteres Problem mit dem PHTV Modul.
Bei aktiviertem ambiHUE werden unmengen an readings (nennt man das so?) erzeugt, dadaurch stürzt bei meinem Android Tablet der Browser bzw WebViewControll (bedeies getestet WVC, Firefox und Chrome) nach einiger Zeit hab weil der Cache voll ist. autorefresh ist in FHEMWEB aktiviert alle 600 Sek.

Gibt es da eine Lösung, die readings braucht ja das ambiHue wegen den Ambilight Informationen?!

Viele Grüße
Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

Cruiser79

Zitat von: westpaket am 14 Mai 2014, 13:15:25
hallo,
tolles modul, kann ich gut gebrauchen.  :D
wollte das al meines philips tagsüber automatisch abschalten, macht da ja kaum sinn.

bin newbee auf dem thema fhem und hab nach der info von andreas13 nun auch auf der fb phtv am laufen.
leider kommt beim set noch folgender fehler, timeout hab ich schonmal auf 7 hoch genommen.
die channels sind aber komischerweise angekommen.

2014.05.14 13:06:31 3: PHTV PhilipsTV: API command 'sources/current' not supported by device.
2014.05.14 13:06:36 3: PHTV PhilipsTV: API command 'channels/current' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_all' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_favourite' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_radio' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/sat_tv' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_all' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_favourite' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_radio' not supported by device.
2014.05.14 13:06:37 3: PHTV PhilipsTV: API command 'channellists/tv_tv' not supported by device.
Use of uninitialized value in concatenation (.) or string at ./FHEM/70_PHTV.pm line 282.
...


jedes set für einen channel bringt dann den fehler der zeile 282 ...
danke
Die gleichen Fehlermeldungen habe ich auch ab und an. Zeitgleich damit ist dann in dem Modul der servicename leer. Komischerweise funktioniert das Modul zeitweise aber schon. Interessant an der Fehlermeldung ist auch, das ein Aufruf der JointSpace-URL mit dem Command, welches eigentlich nicht gehen soll (z.b. channels/current) funktioniert. Irgendwie scheint sich das Modul hier also selber zu blockieren und den "API command not supported" Aufruf zu generieren.

Die Fehlermeldung mit dem unitialized value beruht auf der Zeile
$channels .=
              $hash->{helper}{device}{channelPreset}{$i}{name} . ",";

Hier scheint es also keinen Eintrag mit dem aktuellem $i zu geben. Vielleicht auch erklärbar mit den fehlenden Command-Meldungen?

Loredo, fällt dir zu den Meldungen eine Lösung ein, oder eine Idee, was die Ursache sein könnte?
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

Loredo

Zitat von: Cruiser79 am 03 Juli 2014, 11:45:12
Die gleichen Fehlermeldungen habe ich auch ab und an. Zeitgleich damit ist dann in dem Modul der servicename leer. Komischerweise funktioniert das Modul zeitweise aber schon. Interessant an der Fehlermeldung ist auch, das ein Aufruf der JointSpace-URL mit dem Command, welches eigentlich nicht gehen soll (z.b. channels/current) funktioniert. Irgendwie scheint sich das Modul hier also selber zu blockieren und den "API command not supported" Aufruf zu generieren.

Eure Fernseher antworten wahrscheinlich zu langsam (typisches Problem gerade bei älteren Geräten, die alle zu schwach von Philips ausgelegt wurden).
Das Modul merkt sich über die Betriebszeit, welche Kommandos erfolgreich funktionieren und nimmt sie dann beim ersten Mal in die Liste unterstützter Kommandos auf. Schlägt der Aufruf aber fehl, dann wird der Befehl heraus genommen und die Meldungen unten erscheinen, wenn ein Kommando benutzt wird, welches eben nicht (mehr) auf der Positivliste steht. Hintergrund ist, dass durch die unterschiedlichen Versionsstände womöglich nicht jeder TV die gleichen Kommandos unterstützt (auch wenn die generelle Aussage von Philips ist: Wer JointSpace kann, kann alle Kommandos...). Mein Eindruck war/ist ein anderer, weshalb dieser Mechanismus eingebaut ist.

Wenn ihr das Device ganz frisch in FHEM anlegt und das Attribut verbose=5 setzt, dann sehr ihr im Logfile sehr genau, was zuerst abgefragt wird und bei welchen Kommandos er zu lange auf eine Antwort wartet. Schaut doch mal nach, wo das der Fall ist.

Der Fehler in Zeile 282 ist in der Tat deshalb, weil keine Kanäle abgefragt werden konnten.

Zitat von: Phil__ am 15 Mai 2014, 12:09:15
Bei aktiviertem ambiHUE werden unmengen an readings (nennt man das so?) erzeugt, dadaurch stürzt bei meinem Android Tablet der Browser bzw WebViewControll (bedeies getestet WVC, Firefox und Chrome) nach einiger Zeit hab weil der Cache voll ist. autorefresh ist in FHEMWEB aktiviert alle 600 Sek.

Gibt es da eine Lösung, die readings braucht ja das ambiHue wegen den Ambilight Informationen?!


Nunja, definiere "Unmengen an Readings" ;)
Die ganzen rgb_* Readings werden sehr häufig aktualisiert, ja. Sie sind aber nicht dazu gedacht, dass du sie dir stundenlang auf deinem Tablet anschaust, sondern zu Debugging Zwecken. Wenn du also einen Browser-Cache hast, der überläuft, dann ist das a) ein FHEM oder FHEMWEB Problem und b) ein Problem in deinem Umgang mit FHEM - du solltest im Normalbetrieb keinerlei Schwierigkeiten haben, denn die Readings werden normal nirgends angezeigt und somit auch nicht sichtbar aktualisiert  8)
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

Loredo

Zitat von: westpaket am 14 Mai 2014, 13:15:25
leider kommt beim set noch folgender fehler, timeout hab ich schonmal auf 7 hoch genommen.


7 Sekunden ist der Default Wert (siehe commandref), du hast also nix hoch gesetzt.
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

Cruiser79

#102
Zitat von: Loredo am 05 Juli 2014, 12:45:52
Das Modul merkt sich über die Betriebszeit, welche Kommandos erfolgreich funktionieren und nimmt sie dann beim ersten Mal in die Liste unterstützter Kommandos auf. Schlägt der Aufruf aber fehl, dann wird der Befehl heraus genommen und die Meldungen unten erscheinen, wenn ein Kommando benutzt wird, welches eben nicht (mehr) auf der Positivliste steht. Hintergrund ist, dass durch die unterschiedlichen Versionsstände womöglich nicht jeder TV die gleichen Kommandos unterstützt (auch wenn die generelle Aussage von Philips ist: Wer JointSpace kann, kann alle Kommandos...). Mein Eindruck war/ist ein anderer, weshalb dieser Mechanismus eingebaut ist.

Wenn ihr das Device ganz frisch in FHEM anlegt und das Attribut verbose=5 setzt, dann sehr ihr im Logfile sehr genau, was zuerst abgefragt wird und bei welchen Kommandos er zu lange auf eine Antwort wartet. Schaut doch mal nach, wo das der Fall ist.

Beim frisch anlegen des Devices hatte ich gerade in einem Test nicht das Problem, dort ging alles gut. Anders verhielt es sich, als ich den TV angeschaltet habe (aus dem Tiefschlaf) und sofort Sender gewechselt habe. Dann hängt der TV immer etwas nach und schon antwortet JointSpace wohl nicht schnell genug.
Anbei die Logausgabe, vielleicht erkennst du ja was daraus. Ich habe in deinen Perl Code noch eine Logausgabe eingebaut gehabt, weil ich ihn verstehen wollte (called function PHTV_SendCommand(...)
2014.07.05 13:25:03 5: PHTV PhilipsTV: called function PHTV_GetStatus()
2014.07.05 13:25:03 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), audio/volume, , )
2014.07.05 13:25:03 4: PHTV PhilipsTV: REQ audio/volume
2014.07.05 13:25:03 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/audio/volume
2014.07.05 13:25:06 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:25:06 4: PHTV PhilipsTV: RCV TIMEOUT audio/volume
2014.07.05 13:25:33 5: PHTV PhilipsTV: called function PHTV_GetStatus()
2014.07.05 13:25:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), audio/volume, , )
2014.07.05 13:25:33 4: PHTV PhilipsTV: REQ audio/volume
2014.07.05 13:25:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/audio/volume
2014.07.05 13:25:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:25:33 4: PHTV PhilipsTV: RCV TIMEOUT audio/volume
2014.07.05 13:25:39 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:25:39 5: PHTV PhilipsTV: called function PHTV_Get()
2014.07.05 13:25:40 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_GetStatus()
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), audio/volume, , )
2014.07.05 13:26:03 4: PHTV PhilipsTV: REQ audio/volume
2014.07.05 13:26:03 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/audio/volume
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:03 4: PHTV PhilipsTV: RCV audio/volume
2014.07.05 13:26:03 5: PHTV PhilipsTV: RES audio/volume
{
"muted": false,
"current": 0,
"min": 0,
"max": 60
}

2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_GetStatus()
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), sources/current, , )
2014.07.05 13:26:03 4: PHTV PhilipsTV: REQ sources/current
2014.07.05 13:26:03 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/sources/current
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), channels/current, , )
2014.07.05 13:26:03 5: PHTV PhilipsTV: API command 'channels/current' not supported by device.
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), ambilight/mode, , )
2014.07.05 13:26:03 4: PHTV PhilipsTV: REQ ambilight/mode
2014.07.05 13:26:03 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/ambilight/mode
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:03 4: PHTV PhilipsTV: RCV ambilight/mode
2014.07.05 13:26:03 5: PHTV PhilipsTV: RES ambilight/mode
{
"current": "internal"
}

2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:03 4: PHTV PhilipsTV: RCV sources/current
2014.07.05 13:26:03 5: PHTV PhilipsTV: RES sources/current
{
"id": "11"
}

2014.07.05 13:26:03 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:06 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:06 5: PHTV PhilipsTV: called function PHTV_Get()
2014.07.05 13:26:08 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:30 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:30 5: PHTV PhilipsTV: called function PHTV_Get()
2014.07.05 13:26:31 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_GetStatus()
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), audio/volume, , )
2014.07.05 13:26:33 4: PHTV PhilipsTV: REQ audio/volume
2014.07.05 13:26:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/audio/volume
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), system, , )
2014.07.05 13:26:33 4: PHTV PhilipsTV: REQ system
2014.07.05 13:26:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/system
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), ambilight/topology, , )
2014.07.05 13:26:33 4: PHTV PhilipsTV: REQ ambilight/topology
2014.07.05 13:26:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/ambilight/topology
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), sources/current, , )
2014.07.05 13:26:33 4: PHTV PhilipsTV: REQ sources/current
2014.07.05 13:26:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/sources/current
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), channels/current, , )
2014.07.05 13:26:33 5: PHTV PhilipsTV: API command 'channels/current' not supported by device.
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_SendCommand(HASH(0x252a690), ambilight/mode, , )
2014.07.05 13:26:33 4: PHTV PhilipsTV: REQ ambilight/mode
2014.07.05 13:26:33 5: PHTV PhilipsTV: GET http://192.168.178.24:1925/1/ambilight/mode
2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:33 4: PHTV PhilipsTV: RCV sources/current
2014.07.05 13:26:33 5: PHTV PhilipsTV: RES sources/current
{
"id": "11"
}

2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:33 4: PHTV PhilipsTV: RCV system
2014.07.05 13:26:33 5: PHTV PhilipsTV: RES system
{
"menulanguage": "German",
"name": "Philips TV",
"country": "Germany",
"serialnumber": "xxxxxxx",
"softwareversion": "QF1EU-0.150.95.0",
"model": "47PFL6907K/12"
}

2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:33 4: PHTV PhilipsTV: RCV ambilight/topology
2014.07.05 13:26:33 5: PHTV PhilipsTV: RES ambilight/topology
{
"layers": 1,
"left": 4,
"top": 0,
"right": 4,
"bottom": 0
}

2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:33 4: PHTV PhilipsTV: RCV audio/volume
2014.07.05 13:26:33 5: PHTV PhilipsTV: RES audio/volume
{
"muted": false,
"current": 0,
"min": 0,
"max": 60
}

2014.07.05 13:26:33 5: PHTV PhilipsTV: called function PHTV_ReceiveCommand()
2014.07.05 13:26:33 4: PHTV PhilipsTV: RCV ambilight/mode
2014.07.05 13:26:33 5: PHTV PhilipsTV: RES ambilight/mode
{
"current": "internal"
}

2014.07.05 13:26:50 5: PHTV PhilipsTV: called function PHTV_Set()
2014.07.05 13:26:50 5: PHTV PhilipsTV: called function PHTV_Get()
2014.07.05 13:26:51 5: PHTV PhilipsTV: called function PHTV_Set()

Andere Idee, kann man nicht durch auskommentieren von ein paar Zeilen Quellcode diese Überprüfung der unterstüzenden Module rausnehmen? Oder die Überprüfung öfters machen?
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

Loredo

Die Vermutung liegt nah, dass die schwachen Geräte nicht damit klar kommen, dass FHEM parallel mehrere Abfragen durchführt, um möglichst schnell an Infos zu kommen.
Das steht leider auch im für FHEM wichtigen Gegensatz die Abfragen nicht sequenziell und blockierend zu bearbeiten, sondern nicht blockierend, damit FHEM auch andere Aufgaben währenddessen durchführen kann. Ich überlege mal, wie man die schwachen Geräte ggf. etwas von den parallelen Anfragen entlasten kann und es mehr sequenziell hinbekommt. Die Schwierigkeit besteht darin, dass ich es für die besseren/schnelleren Geräte gerne so beibehalten würde, wie es aktuell ist (das ist auch vor allem für die ambiHue Funktion entscheidend, aber eben auch um möglichst zeitnah Änderungen am Gerätestatus mitzubekommen).
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

Loredo

#104
Anbei mal ein Versuch, bitte mal testen.


Es gibt hier ein neues Attribut sequentialQuery, welches man auf 1 setzen kann. Ggf. hilft das.
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