Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

LBS Kodi (12982)

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

    HS/FS LBS Kodi (12982)

    Moin,
    ich hab mir mal ein Baustein gebaut um auf Events vom Kodi reagieren zu können (Licht schalten usw)
    Der Baustein lauscht auf dem TCP Port und Wertet die jsonRPC Nachrichten aus.

    Ob das bei Kodi läuft könnt ihr einfach testen in dem ihr ein Telnet auf KODIIP Port 9090 (default) macht.

    Code:
    Eingang 1: IP
    Eingang 2: Port
    Eingang 3: Play
    Eingang 4: Stop
    Eingang 5: Pause
    Eingang 6: Timeout
    
    Ausgang 1: Play
    Ausgang 2: Stop
    Ausgang 3: Pause
    Ausgang 4: Status ( 0 = nicht verbunden / 1 = verbunden )
    E3 - E5 legen fest ob auf das Event reagiert werden soll und entsprechend gibt es an den Ausgängen dann immer eine 1.

    E6 ist ein Timeout in Sekunden, falls die Kodi Instanzen nicht 24/7 verfügbar ist. (Bei mir auf dem Apple TV ist der Port z.B nur offen wenn Kodi gerade läuft also im Vordergrund ist.)

    Unterstütze die Bausteinentwicklung und Spende

    Über Feedback freu ich mich

    Changelog:
    Code:
    V0.71
    - Socket Timeout umgebaut
    
    V0.7
    - Versuch den Timeout besser abzufangen
    
    V0.6
    - Looping optimiert
    
    V0.5
    - ThreadLoop verbessert
    
    V0.4
    - Status Ausgang hinzugefügt
    - Verbesserung beim wiederverbinden
    
    V0.2
    - kleinen Fehler beim Sockethandling nach langer Laufzeit behoben.
    
    V0.1 - Initalversion
    Angehängte Dateien
    Zuletzt geändert von derPaul; 11.02.2021, 11:07.

    #2
    Ja wie geil ist das denn. Werde ich morgen gleich testen. Danke schon mal.
    Gruß Andy

    Kommentar


      #3
      V0.2
      - kleinen Fehler beim Sockethandling nach langer Laufzeit behoben.

      Kommentar


        #4
        V0.4
        - Status Ausgang hinzugefügt
        - Verbesserung beim wiederverbinden

        Kommentar


          #5
          V0.5
          - ThreadLoop verbessert

          Kommentar


            #6
            Klappt leider bei mir nicht so recht. Habe eine Linux Box mit KODI 18.7
            Bisher hatte ich ein lokales Skript laufen, was sich auch auf Port 9090 verbunden hat und einige Status abgefangen und dann als IP Befehl an den Homeserver geschickt hat. Dieser hat dann das Deckenlicht entsprechend gedimmt. Das Skript habe ich nun mal rausgenommen.

            Dein Baustein verbindet sich (Status = 1), aber auf keinen der Ausgänge erhalte ich einen Wert, wenn ich ein Video starte, pausiere oder beende. Alle drei Statuseingänge stehen auf 1.
            Wie kann ich denn noch debuggen?

            Über das KODI Plugin vom ioBroker klappt's übrigens auch, nur kommt da der Play-Status nicht mehr sauber, daher nutze ich das nie.

            Grüße
            Marc
            Zuletzt geändert von sinn3r; 01.06.2020, 16:13.

            Kommentar


              #7
              kommen den die Events wenn du ein telnet auf IPvonKODI Port 9090 machst?

              Irgendwelche Excpetions?

              Kommentar


                #8
                Hmm, sorry. Ich habe es nach einem HS-Neustart jetzt eben nochmal getestet und nun läuft's.
                Ich hatte eine SSL-Exception im Log von gestern Abend. Sehr seltsam...

                Danke!

                Kommentar


                  #9
                  V0.6
                  - Looping optimiert

                  Kommentar


                    #10
                    Hi Paul,

                    ich habe immer mal wieder das Problem, dass nach einem Neustart vom HS die Verbindung nicht wieder läuft.
                    Der Status wird nach dem HS-Reboot mit 1 angezeigt, aber trotzdem empfängt der LBS nichts.
                    Ein Kodi-Reboot bringt übrigens keine Änderung. Das Timeout habe ich mittlerweile auch schon mal auf 5 Sekunden gesetzt, damit die Verbindung neu aufgebaut werden müsste bei einem Kodi-Neustart (dauert länger als 5 Sekunden).
                    Meine Kodi-Box läuft quasi 24h durch, die bekommt nur bei Updates ein Reboot.
                    Wenn ich den HS dann nochmal reboote, geht's in der Regel wieder.
                    Telnet auf Kodi Port 9090 geht immer.

                    Ich habe eine Exception im HS nach dem letzten Reboot, weiß aber nicht, ob die damit etwas zu tun haben kann:
                    File "hs_comm.py", line 52, in get_host_ip
                    File "lib_dns.py", line 8, in lookup
                    gaierror: [Errno -3] Temporary failure in name resolution

                    Ich habe im LBS die Kodi IP eingetragen, keinen Namen.

                    EDIT: Habe jetzt mal den Kodi-Hostnamen eingetragen im LBS, damit ist interessanterweise der DNS Fehler verschwunden und es läuft auch wieder. Es könnte auch sein, dass ich mit dem letzten HS-Reboot auch die 0.6 installiert hatte und vorher noch eine ältere Version lief. Bin mir nicht so sicher, da ich den LBS eventuell nach dem Release zwar importiert, aber zwischendrin das Projekt nie neu hochgeladen hatte, sondern den HS immer nur rebootet.

                    Hättest Du noch irgendeine Idee?

                    Grüße
                    sinn3r
                    Zuletzt geändert von sinn3r; 15.08.2020, 09:42.

                    Kommentar


                      #11
                      Moin,
                      muss ich mir mal anschauen ... Grundsätzlich hab ich aber bei unterschiedlichen Bausteinen schon ähnliches Verhalten festgestellt.

                      IP ist im Grunde korrekt. DNS Fehler ist komische.

                      Welche HS Version hast du laufen?

                      Kommentar


                        #12
                        Moin,

                        bei mir läuft die 4.10.
                        Ich greife mit anderen LBS immer direkt über die IPs auf meine Geräte, da hatte ich bislang noch keine solche DNS-Meldung.

                        Kommentar


                          #13
                          V0.7
                          - Versuch den Timeout besser abzufangen

                          sinn3r : Magst du mal testen? :-)

                          Kommentar


                            #14
                            Hi derPaul,

                            ist installiert, ich werde das die nächsten Tage beobachten.
                            Danke!

                            Viele Grüße
                            sinn3r

                            Kommentar


                              #15
                              So, ich habe mal ein wenig getestet.
                              Leider werden in der 0.7 manche Trigger "verschluckt", mein parallel laufendes Putty auf Port 9090 zeigt mir aber jeden Status sauber an.
                              Mit der 0.6 laufen die Trigger wieder "stabil" (sicher bis auf die Reconnects).
                              Was auch neu ist, die Connect-Status-LED in meiner Visualisierung schaltet alle paar Sekunden um, die war vorher immer grün. Also auch wenn ich gar nichts mache, wechselt die regelmässig den Status. Nachdem das alle 5 Sekunden passiert, hängt's wohl mit dem sock.settimeout(5) zusammen. Die "Rotphase" ist aber kurz, d.h. die Verbindung wird direkt wieder aufgebaut.

                              Kommentar

                              Lädt...
                              X