Ankündigung

Einklappen
Keine Ankündigung bisher.

Plex Status an Loxone bzw. Loxberry

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Plex Status an Loxone bzw. Loxberry

    Hallo Zusammen,

    ich beschäftige mich gerade mit den Möglichkeiten, wie ich meinen PLEX Status über Loxone schicken kann um zu entscheiden, was mit dem Mediaserver passieren soll. Habe gesehen, dass Plex die sogenannten Webhocks anbietet. Ist es möglich, diese über den Loxberry zu nutzen?


    Wie habt ihr das umgesetzt?

    Thomas

  • #2
    Ich habe nur im hinterkopf das es über nodered möglich ist, vielleicht hilft das

    ​​​​

    Kommentar


    • #3
      Hallo, besten Dank für deine Antwort... Nodered lese/höre ich immer wieder, für mich als "Anwender" aber leider too much. Versuch mich da mal etwas rein zu lesen.. Kann nicht über de Loxberry Plugin MQTT Node-red realisiert werden? Habe gesehen, dass dort eine Kommunikationsschnittstelle zu Kodi umgesetzt wurde. Wäre dies auch für PLEX möglich?

      Kommentar


      • #4
        Google ist dein Freund!!

        Wie man an den Blogposts der letzten Jahre unschwer erkennen kann, beschäftige ich mich neben klassischen Smart-Home-Themen auch mit Multimedia-Anwendungen.
        Ciao, Leigh

        Nur der eigene Geist setzt uns Grenzen...

        Kommentar


        • thomas76ch
          thomas76ch kommentierte
          Kommentar bearbeiten
          Hi, besten Dank für deinen Tipp. Diesen Beitrag habe ich auch schon gelesen, habe jedoch KEIN FHEM im Einsatz und würde wie erwähnt diese über die Websockets von PLEX und Node-red über das MQTT Plugin im Loxberry realisieren. Hat dies noch niemand versucht? Danke

        • Leigh
          Leigh kommentierte
          Kommentar bearbeiten
          FHEM bekommst als Loxberry Plugin.

      • #5
        Hallo, ich finde diese Funktion interessant. Da wir immer noch per Hand im Smartphone eine Szene auswählen, bei der alle Lichter aussind, wenn wir nen Film schauen wollen.
        Leider nimmt bei mir die FHEM Installation auf dem Loxberry das Kommando :"sudo apt-get install libio-socket-multicast-perl" gar nicht an. Als Meldung kommt immer "Unknown command install, try help."

        Was muss ich tun?

        Kommentar


        • #6
          Plex hat eine HTTP-API. Du kannst den Status wie folgt abrufen:


          Dann fällt hinten eine XML raus, die du weiter parsen kannst. Deine Idee mit Licht an/aus bei Pause/Play habe ich genauso umgesetzt. Erst filtern nach Player, dann nach Wiedergabestatus.
          Wie man an den Plextoken kommt, weiß ich grad nicht mehr auswendig, aber ich bin mir sicher, eine Suchmaschine deiner Wahl hilft hier.

          Kommentar


          • #7
            Danke für den Tipp. Die XML Datei konnte ich mit dem passenden Token auslesen.

            Den Token bekommt man wie hier in der Anleitung gezeigt:https://support.plex.tv/articles/204...-x-plex-token/


            Jetzt muss ich nur noch rausfinden, welche Daten interessant sind und wie ich sie auswerte. Hast du noch nen Tipp?

            Ich denke mal ich muss die "PlayerAdress" auswerten, also über die IP. Oder ist die SessionID auf dem selben Gerät immer gleich?
            Zuletzt geändert von emery777; 21.10.2021, 08:49.

            Kommentar


            • inswe
              inswe kommentierte
              Kommentar bearbeiten
              Ich hab mir in Node-RED einen Flow wie folgt gebaut:
              Ping-Check alle 3 Sekunden auf meinen AV-Receiver. Wenn Ping erfolgreich, dann HTTP-Request auf die Plex-API. Dann das Ganze soweit zerlegen und nach der IP des AVRC filtern, dass ich am Ende nur noch nach "state" "playing" oder "pause" entscheide. Der State geht dann an Loone und Loxone entscheidet dann hoheitlich über die Lichtverhältnisse. Wenns dir hilft, packe ich gerne meinen Flow hier rein.

            • emery777
              emery777 kommentierte
              Kommentar bearbeiten
              Ich kenne mich mit Node-RED gar nicht aus. Den AV Receiver bräuchte ich eigentlich nicht zu pingen, der läuft dann ja sowieso. Es reicht mir , wenn ich den "state" und den "player" auslese und danach eine Logik in Loxone bastel. Ich versuche aber gerade noch die Werte auszulesen. Bin da nicht so fit drin. Habe nen HTTP Eingang angelegt mit der entprechenden URL zur XML Datei. Als Befehlserkennung beim HTTP Eingang dann state="\v eingetragen, aber es kommt immer 0 raus.

            • inswe
              inswe kommentierte
              Kommentar bearbeiten
              Der Sinn dahinter ist, dass ich auf der einen Seite eine schnelle Reaktion möchte (Pause = Licht an), auf der anderen Seite die Infos von Plex nur gezogen (GET-Requests) werden können. Sollte der Receiver aus sein, muss ich Plex nicht alle paar Sekunden belästigen.

          • #8
            Wieso komme ich nicht auf den Wert von state? Habe schon die verschiedensten Kombinationen versucht, auch aus anderen Threads hier rausgelesen...

            \istate="\i\v funkltioniert auch nicht. Liegt es daran, dass da ein Wort steht und keine Zahl?

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screen Shot 10-21-21 at 01.00 PM.PNG
Ansichten: 392
Größe: 38,5 KB
ID: 321848
            Zuletzt geändert von emery777; 21.10.2021, 12:12.

            Kommentar


            • #9
              Die Werterkennung liefert dir quasi den Zahlenwert (habs leider nicht mer im Kopf obs die ASCI Nummer ist). Du könntest aber z.B den 2. Buchstaben vom State in einem Statusbaustein auswerten. Entweder ein "l" von "pLay" oder ein "a" von "pAuse"

              Direkt über Loxone wirst halt einfach auf die 10s Abfragezyklus beschränkt sein, was du in NodeRED nicht haben wirst.

              Kommentar


              • emery777
                emery777 kommentierte
                Kommentar bearbeiten
                stimmt. mit einem einfachen state="p/1 bekomme ich dann auch die Werte 97 bzw. 112. Da lag der Fehler. Mal schauen was ich damit mache.

                Okay, das mit dem abfragezyklus ist natürlich etwas doof. Ich schaue mir NodeRed mal an. Hoffentlich gibts da ein Loxberry Plugin

            • #10
              emery777
              IMHO ist dieses Node.js Script nur ein Webserver, der einen json POST erhält.
              Du kannst mal versuchen, als Webhook-URL die generische URL des MQTT Gateways einzutragen, ob du da was reinbekommst.


              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar


              • #11
                Wenn ich mich auskennen würde, ja. Ich habe jetzt aber mehrere Stunden damit verbracht zuerst per FHEM über die alte Anleitung die oben verlinkt ist, dann mit HTTP Eingängen. NodeRed Service bekomm ich auch nicht zum laufen auf dem Raspi, da kommen nur Fehlermeldungen wenn ich den NodeRed starten will.

                Das ist mir alles zu kompliziert, ich nehme die 10Sek. In Kauf. Aber danke

                Kommentar


                • inswe
                  inswe kommentierte
                  Kommentar bearbeiten
                  Obacht:

                  Webhooks are a premium feature and require an active Plex Pass Subscriptions subscription for the Plex Media Server account.

                  Meine (zugegebenermaßen) etwas kompliziertere Lösung ist für die Schnorrer der kostenlosen Version gedacht

                • emery777
                  emery777 kommentierte
                  Kommentar bearbeiten
                  Plex Premium hätte ich. URL aus dem Wiki?

                  Und dann diese URL?: http://loxberry/plugins/mqttgateway/receive.php
                  Und dann noch ein MQTT Plugin installieren, und dann weiterleiten an den Miniserver? o_O
                  Zuletzt geändert von emery777; 21.10.2021, 17:52.

                • Christian Fenzl
                  Christian Fenzl kommentierte
                  Kommentar bearbeiten
                  Ich dachte, du hättest sowieso das MQTT Gateway installiert.

              • #12
                Nein. Habe es jetzt installiert und ziehe mir YouTube Videos zum Verständnis rein...

                Kommentar


                • #13
                  Hallo nochmal. Bräuchte nochmals Hilfe.
                  Habe jetzt im Plex den Webhook gesetzte auf "http://loxberry/plugins/mqttgateway/receive_pub.php"
                  Im MQTT Plugin habe ich rcvr/# subscribed.
                  Im Incoming Overview kommen dann json Daten an siehe Bild.

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screen Shot 10-22-21 at 11.03 AM.PNG
Ansichten: 478
Größe: 131,1 KB
ID: 321955

                  Habe dann in den Text to Value Convertions folgendes eingetragen:
                  media.play=1
                  media.pause=2
                  media.stop=3

                  Habe die json Daten dann im Virtual Studio eingegeben um sie besser zu sehen, sihe Bild. Interessant am Anfang wäre mal nur die erste Zeile "event" Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screen Shot 10-22-21 at 11.07 AM.PNG
Ansichten: 468
Größe: 114,6 KB
ID: 321956

                  Im Miniserver einen Virtuellen Eingang angelegt und diesen so beschrieben: rcvr_192.168.178.44_POST_payload_event

                  Trotzdem kommt immer nur 0 raus. Was habe ich vergessen?
                  Angehängte Dateien

                  Kommentar


                  • #14
                    Schau bitte mal in den MQTT Settings, dass die JSON Expansion aktiv ist. Schaut bei dir deaktiviert aus.
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar


                  • #15
                    emery777
                    Ich habe das jetzt bei mir überprüft, und json wird eigentlich doch sofort zerlegt.

                    Bitte lass nochmal was von Plex übermitteln, und dann schickst du mir bitte per PM das Logfile aus der Group 'Receiver', und bitte auch das MQTT Gateway Log.

                    Code:
                    curl -X POST http://localhost/plugins/mqttgateway/receive_pub.php -H 'Content-Type: application/json' -d '{"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":{"Gl ossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm" :"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML"]},"GlossSee":"markup"}}}}}'
                    Dieses Beispiel mit curl - kannst du mit putty einfach an der Shell ausführen - überträgt alle Elemente des Jsons als einzelne Werte. Das müsste auch bei dir funktionieren.

                    lg, Christian
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar

                    Lädt...
                    X