JVC Projektoren & Hausautomation-Integration: FHEM

  • Die Schriftfarbe hab ich geändert, das passiert wohl bei Copy-Paste...


    Von den Connection-Problemen haben im FEHM-Forum auch einige berichtet, aber ich weiß noch nicht woran es liegt. Hilft es, wenn du im Modul das Attribut timeout_io auf 5 setzt? Dann wartet er 5 statt 2 Sek. auf eine Verbindung...


    Kannst du mal das verbose-Attribut auf 5 setzen und das Log des Device posten?

  • Ich glaube das liegt grundsätzlich nicht an deinem Plugin.

    Ich glaube das Problem wurde auch schon einmal etwas ausführlicher besprochen, ich kriegs aber nicht mehr zusammen. Fakt ist: der Beamer reagiert nicht mehr auf eine Anfrage zum Handshake, behoben wird das nur durch einen Kaltstart (Netz aus). Das Problem besteht eher, wenn der Beamer länger im Standby war/ist.

    Ich persönlich hatte damit aber nie Probleme, weil ich nach einiger Zeit auch die Steckdose des Beamers ausschalte, somit immer einen "Kaltstart".

  • Fakt ist: der Beamer reagiert nicht mehr auf eine Anfrage zum Handshake, behoben wird das nur durch einen Kaltstart (Netz aus). Das Problem besteht eher, wenn der Beamer länger im Standby war/ist.

    Ich persönlich hatte damit aber nie Probleme, weil ich nach einiger Zeit auch die Steckdose des Beamers ausschalte, somit immer einen "Kaltstart".

    Das könnte wohl sein. Bei meinem JVC 7900 habe ich das Problem noch nie gehabt. Der hängt aber auch an einer schaltbaren Steckdose und bekommt nur Strom, wenn ich das Kino nutze.


    Wäre natürlich schon interessant, ob man das irgendwie beheben kann...

  • Meiner hängt immer am Strom, ich nehme auch an, dass es ein Problem des Beamers ist, denn nach Kaltstart funktioniert es wieder. Neustart von FHEM hat hingegen keinen Einfluss. Auch lässt sich der Projektor dann nicht mehr per telnet erreichen.


    Ohne Firmwareupdate wird sich das wohl nicht beheben lassen.

  • Das kann man dich aber beruhigen MichaelH! ;) Es wird wohl kein FW-Update mehr für die X-Generation geben. ;) Ich gehe auch mal davon aus, dass das Problem auch noch bei der N-Serie besteht (ich habe es aber noch nicht getestet).

    Ca. 48 Sekunden sind es bei mir, bis das Ethernet-Interface nach Einschalten der Spannungsversorgung reagiert. Mit der RS232-Schnittstelle könnte man aber auch das umgehen, die sollte nahezu unverzögert da sein.

  • Das kann man dich aber beruhigen MichaelH! ;) Es wird wohl kein FW-Update mehr für die X-Generation geben. ;) Ich gehe auch mal davon aus, dass das Problem auch noch bei der N-Serie besteht (ich habe es aber noch nicht getestet).

    Ca. 48 Sekunden sind es bei mir, bis das Ethernet-Interface nach Einschalten der Spannungsversorgung reagiert. Mit der RS232-Schnittstelle könnte man aber auch das umgehen, die sollte nahezu unverzögert da sein.

    RS232 unterstützt das Modul aber nicht. Ich schalte den Projektor mit dem Harmony Hub per Infrarot ein. Die weitere Steuerung übernimmt dann das Modul.

  • Es gibt unter Netzwerk diese Control4 Einstellung, auf was sollte die stehen? Hat das nur Auswirkungen auf Control4 Steuerungen, oder auch auf das FHEM-Modul? Die Doku ist leider wenig hilfreich:



    .

  • All-Ex : Ich habe das nach deiner Anleitung konfiguriert:


    Code: https://forum.fhem.de/index.php/topic,108314.0.html
    Eine regelmäßige Aktualisierung ausgewählter Readings z.B. im 60-Sekunden-Takt kannst du dir mit DOIF einfach selber bauen:
    
    define jvc_intervall DOIF ([+60]) (get projector Power, PictureAdjust_PictureMode, get projector Information_SourceVideoFormat, get projector Information_HDR)
    attr jvc_intervall do always



    Wenn der Projektor ausgeschalten ist, dann steht im Logfile natürlich folgendes:

    Code
    2021.04.20 10:11:06 3: JVC_DILA (projector) get Power => successful execution, updated reading
    2021.04.20 10:11:36 3: JVC_DILA (projector) get Information_ColorDepth => Timeout error, no response after 30 second(s). Projector in standby or command not supported.


    Ich bin nicht so fit im FHEM programmieren, wie könnte man die Schleife umbauen, dass sie erstmal nur Power abfrägt, und nur wenn der Projektor on ist, erst dann die anderen readings ausliest? Wäre eleganter und der Buffer wäre nicht dauernd am Überlaufen.

  • Code
    define jvc_intervall DOIF 
    ([+60] and [projector:ConnectionState] eq "CONNECTED") 
    (get projector Power, get projector PictureAdjust_PictureMode, get projector Information_SourceVideoFormat, get projector Information_HDR)
    DOELSEIF
    ([+60] and [projector:ConnectionState] ne "CONNECTED")
    (get projector Power)
    
    
    attr jvc_intervall do always

    Alternativ könntest Du das Reading Power abfragen. Dann müsstest Du

    [projector:Power] ne "Standby"

    und

    [projector:Power] eq "Standby" für den ConnectionState einsetzen.


    Anstelle von Standby kannst Du auch On schreiben. Weiß nur gerade nicht, wie der Wert korrekt heißt. On, PowerOn, LampOn? :big_smile:

    Wenn Du weißt, dass das sauber läuft, könntest du auch den Loglevel in diesem Modul auf 2 oder 1 stellen. Die Meldungen dürften dann nicht mehr auftauchen. Allerdings auch viele weitere Meldungen nicht mehr :-)

  • Danke für euren Input!

    Läuft aber nicht:


    Code
    define jvc_intervall DOIF ([+60]) 
    (get projector Power, 
      IF ([projector:Power] eq "Lamp_On")
        (get projector Information_ColorDepth, get projector Information_ColorSpace, get projector Information_HDR, get projector Information_SourceVideoFormat, get projector PictureAdjust_ClearMotionDrive)
    )
    attr jvc_intervall do always


    Zitat

    ERROR:

    Unknown command (get, try help. IF: unknown reading: projector:Power Unknown command (get, try help. Unknown command ), try help.

  • Wie heißt denn dein Beamer in FHEM?

    projector :dribble:



    Die Syntax macht mich fertig, aber so müsste es passen, bin gerade am probieren:

    Code
    define jvc_intervall DOIF ([+60]) (get projector Power, \
    IF ([projector:Power] eq "Lamp_On") (\
      get projector Information_ColorDepth, \
      get projector Information_ColorSpace, \
      get projector Information_HDR, \
      get projector Information_SourceVideoFormat, \
      get projector PictureAdjust_ClearMotionDrive))
    attr jvc_intervall do always
  • so müsste es passen, bin gerade am probieren:

    Code
    define jvc_intervall DOIF ([+60]) (get projector Power, \
    IF ([projector:Power] eq "Lamp_On") (\
      get projector Information_ColorDepth, \
      get projector Information_ColorSpace, \
      get projector Information_HDR, \
      get projector Information_SourceVideoFormat, \
      get projector PictureAdjust_ClearMotionDrive))
    attr jvc_intervall do always

    Wenn der Projektor ausgeschaltet ist, dann bleiben die Readings bestehen, mit einem elsezweig und deletereading kann man sie löschen habe rausgefunden, aber sauberer wäre es sie auf Null oder Leerstring zu setzen. Geht das irgendwie?

  • Code
    define jvc_intervall DOIF 
    ([+60] and [projector:Power] eq "Lamp_On") 
    (get projector Power, get projector PictureAdjust_PictureMode, get projector Information_SourceVideoFormat, get projector Information_HDR)
    DOELSEIF
    ([+60] and [projector:Power] ne "Lamp_On")
    (get projector Power, setreading projector PictureAdjust_PictureMode 0, setreading projector Information_SourceVideoFormat 0, setreading projector Information_HDR 0)
    
    
    attr jvc_intervall do always

Jetzt mitmachen!

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