JVC Projektoren & Hausautomation-Integration: FHEM

  • Sehr schön, wird langsam.

    Ich verwende FHEM mit Roku um mit der Harmony und dem JVC-Modul den Projektor zu bedienen, die readings frage ich mit Openhab ab und bin gerade am Basteln einer Handysteuerung mit Rückmeldung.




    Und wenn der Projektor aus ist, bleiben jetzt auch keine alten Werte mehr stehen:




    Nebenbefund: Lautstärkesteuerung über Slider funktioniert erstaunlich gut, schnell und genau. Im Prinzip besser als mit Wipptaste einer echten Fernbedienung, wo die Werte schnell davonlaufen, wenn man länger drückt.


    :respect:

  • In fhem einen api Port geöffnet und mit openhab und http binding die readings im json Format ausgelesen.


    Wenn ihr wollt, kann ich das auch näher ausführen, aber erst morgen.

  • Ich verwende Openhab mit einigen Bindings (Netatmo, Klima, Harmony, Hue, Denon) für die Haussteuerung.

    Mit dem http Binding frage ich vom LightManager Air Temperatursensoren ab und steuere damit auch die Rollläden und das Licht an.


    FHEM nutze ich, damit ich mithilfe des in der Harmony eingebundenen Roku Device direkte LAN-Befehle versenden kann, an Lightmanager oder den Projektor.



    Die Abfrage der JVC-Werte durch Openhab funktioniert folgendermaßen.


    API-Port in fhem ohne Token öffnen:

    Code: fhem.cfg
    define WEBapi FHEMWEB 8084 global
    attr WEBapi csrfToken none
    attr WEBapi allowfrom 127.0.0.1


    Von Openhab aus die fhem api abfragen:

    Code: services/http.cfg
    projectorCache.url=http://127.0.0.1:8084/fhem?cmd=jsonlist2%20projector%20&XHR=1
    projectorCache.updateInterval=60000


    Code: items/item.cfg
    String JVC_Power                { http="<[projectorCache:60000:JSONPATH($.Results.[0].Readings.Power.Value)]" }
    String JVC_SourceVideoFormat    { http="<[projectorCache:60000:JSONPATH($.Results.[0].Readings.Information_SourceVideoFormat.Value)]" }
  • Ich steuere den X7900 direkt per OpenHab an. Im alten Forum hatte ich mal folgendes gepostet:


    Da die Implementierung der Schnittstelle ein bisschen frickelig war, hier zur Info, vielleicht hilft es ja jemandem weiter:


    Items (IP ist durch entsprechende Adresse zu ersetzen):

    Code
    String jvc_x7900 { tcp=">[IP:20554:]" }
    String jvc_x7900_send_command
    String jvc_x7900_power_state
    String jvc_x7900_input_source
    String jvc_x7900_lamp_power
    String jvc_x7900_anamorphic


    Rules:


    Das TCP Binding ist notwendig und muss installiert sein. In services\tcp.conf habe ich updatewithresponse auf true gesetzt, damit ich auch die Acknowledges des JVCs im Logging sehen kann.


    Im HabPanel sind entsprechend der in den Rules verwendeten Strings Kommandos zu senden, z.B. sendCmd('jvc_x7900_send_command', 'POWER_ON'). Stati können entsprechend abgefragt und visualiert werden, z.B. itemValue('jvc_x7900_power_state'). Weitere erforderliche Befehle können natürlich beliebig ergänzt werden. Die Hex-Codes findet man im JVC D-ILA Remote Control Guide, der an diversen Stellen im Netz herunterladbar ist.


    Ich habe nur rudimentäres OpenHAB-Wissen, daher kann ich nur sagen, dass es so funktioniert, aber schön ist vermutlich anders.


    Gruß,

    fincher

  • Auf get-Befehle antwortet der JVC eigentlich ziemlich schnell, wenn vorher nichts in der Befehls-Queue steht und auf Abarbeitung wartet und der Projektor das Feature auch unterstützt. D.h. ein X500 wird auf weniger Readings antworten als ein N5, weil im X500 einige Befehle gar nicht existieren. Wenn der Projektor einen Befehl nicht kennt, wartet das Modul auf den Timeout.


    Schau also, dass der Projektor eingeschaltet ist, die Queue leer ist und nur Readings abgefragt werden, die der Projektor auch liefern kann.

  • Es gibt jetzt die neue Version 6 des JVC-Moduls für FHEM.


    Änderungen:

    • Es lassen sich jetzt auch beliebige Remote-Codes über das Modul an den Projektor senden. Das sind die Codes, die auch per Fernbedienung gesendet werden können. Damit kann z.B. das Bild per Hide schwarz geschaltet werden:
      set <name> RemoteCode D0 für Bild schwarz
      set <name> RemoteCode D1 für Bild aktivieren
    • Neu hinzugekommen ist dieser Befehl:
      RemoteCode <ASCII> Sendet eine Funktion der Infrarot-Fernbedienung über das Netzwerk an den Projektor, z.B. 2E um das Drücken der Menu-Taste auf der Fernbedienung zu senden (vgl. Remote Control Guide https://support.jvc.com/consum…ILAremoteControlGuide.pdf, Spalte ASCII). Da durch diesen Befehl keine Readings verändert werden, sollte statt dessen wenn immer möglich der passende set-Befehl gesendet werden.
    • Dokumentation aktualisiert

    Das Modul findet ihr im FHEM-Forum.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!