Loxone Intercom Gen2 - Webschnittstelle um Bild/Video rauszubekommen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • MaN0258
    Dumb Home'r
    • 29.05.2016
    • 20

    Loxone Intercom Gen2 - Webschnittstelle um Bild/Video rauszubekommen

    Hi zusammen,
    gestern habe ich meine neue Intercom Gen2 bekommen. Leider ist das Webinterface stark eingeschränkt. Es gibt außer Netzwerkeinstellungen und Updates nichts im Webinterface. ich würde aber gerne, wie bei der alten Intercom irgendwie per Node-RED an die Bilder kommen um mir beim Klingeln oder beim herumspielen am Fingerabdruckscanner per Telegram Bot ein Foto zusenden zu lassen.
    Hat da jemand eine Idee oder sich vielleicht bereits damit beschäftigt?
    Ansonsten ist die Intercom Gen2 schon ganz nett. Sie hat sogar einen TTS Eingang, so dass man relativ leicht Statusmeldungen ausgeben kann, wenn man das Haus verlässt (Fenster noch offen, Geräte noch nicht ausgeschaltete...)
    Viele Grüße
  • asterix555
    Dumb Home'r
    • 21.05.2021
    • 18

    #2
    Ich häng mich mal dran. Auf den ersten Blick scheint das Ding ja ziemlich abgeschottet zu sein,..
    An eine Anbindung an einen eigenen SIP-Server ist wohl erst gar nicht zu denken,...

    Kommentar

  • Klartext
    LoxBus Spammer
    • 25.08.2015
    • 426

    #3
    Umgekehrt wärs natürlich auch interessant, da die Anzeige in der App schöner ist als bei dee Alten

    Kommentar

    • Gagi
      LoxBus Spammer
      • 20.01.2018
      • 290

      #4
      Ich hoffe ja immer noch dass die Bilder in den Notifications auch für die anderen Türstationen kommt, aber wenn nicht muss ich mir wohl was basteln 🤔


      Gesendet von iPhone mit Tapatalk

      Kommentar

      • Laubi
        Dumb Home'r
        • 01.01.2022
        • 28

        #5
        Zitat von asterix555
        Ich häng mich mal dran. Auf den ersten Blick scheint das Ding ja ziemlich abgeschottet zu sein,..
        An eine Anbindung an einen eigenen SIP-Server ist wohl erst gar nicht zu denken,...
        Hallo Zusammen,

        ich bin komplett neu hier, und nur wegen der Intercom auf Loxone richtig gestoßen. Von der Bauweise ist die Intercom halt für Renovieren sehr Interessant. Eigentlich hatte ich gehofft das die Intercom ähnlich den früheren Versionen es ermöglicht Video und SIP direkt abzugreifen. Aber Nein das ist dann leider Schwieriger als gedacht. Auch wenn ich eigentlich kurz davor stehe den Scheiß in die Tonne zu treten und die Hardware zurückzugeben, ist aktuell meine Neugier und mein Wunsch es doch noch nutzbar zu bekommen größer.

        Mit meinem Minimalen Kenntnissen bin ich unterdessen, Minimal weiter. Die Loxone App auf dem Mac Installiert, und mal tcpdump angewurfen:

        Die App Kommuniziert hier offensichtlich direkt mit der Klingel, das letzte Bild beim Klingeln kommt da:

        http://${KLINEL-TASTER-IP}/jpg/image.jpg?auth=64zeichen

        Vielleicht kennt ja schon jemand einen Weg eine - "dauerhaften Auth-Key" zu erstellen, ich gebe zu das ich das Forum noch nicht durchsucht habe - aktuell soll das nur ein Hinweis keine Frage sein.

        Ältere (wie viele keine Ahnung!) Snapshot liegen ebenfalls auf der Klingel

        snapshots/$(authkey))/bell/(10stellignummerisch).jpg

        Also für mich liegt das Todo jetzt:

        a) herauszufinden wie man einen AuthKey für wie Lange erzeugt, bzw. wie man ihn verlängert => Ja ich such erstmal im Wiki und den Foren
        b) noch das Live Video zu finden

        Ansätze:
        a) mehr tcpdump
        b) vielleicht leg ich vor die Klingel einen Apache Proxy und versteck die Klingel dahinter? das Könnte ein Interessantes Log-Verhalten liefern zumindest für Das Thema Video

        Frage:

        Hatt schon einer eine Idee ob das Audio Irgendeinen Standard entspricht? lt. Doku scheint ja irgendwie dynamisches UDP zu sein, soweit bin ich nur noch nicht mir das anzuschauen, meine Zeit ist leider auch nur eingeschränkt da.

        LG
        Laubi

        Kommentar

        • Gagi
          LoxBus Spammer
          • 20.01.2018
          • 290

          #6
          Ich glaube das ist in diesem Kontext ganz interessant: https://www.loxone.com/dede/wp-conte...ts-Domains.pdf

          Video und Audio kommen über UDP Ports. Ich denke da werden sie sich hoffentlich schon an einen Standard halten und man könnte das ganze wieder verwenden (zumindest mal für Video).

          Die Kommunikation geht über Websockets (wie auch alles andere in der App). Ich hab selbst keine Intercom Gen2, aber ich denke das könnte wieder ähnlich der Kommunikation beim MusicServer sein, am besten wirklich nen tcpdump machen. Darüber könnte man auch an den authkey kommen.

          Kommentar

          • MaN0258
            Dumb Home'r
            • 29.05.2016
            • 20

            #7
            Das hört sich doch schon mal sehr interessant an! Ist die Kommunikation also tatsächlich unverschlüsselt? dann lässt sich da doch sicher noch einiges herausfinden. Werde mir das auch noch genauer anschauen, wenn ich dazu komme.

            Hier habe ich mal kurz per Wireshark etwas mitgesnifft was zwischen meinem PC und der Klingel passiert. Ich sehe aktuell nur UDP Traffic. Jemand ne Idee ob ich anders filtern müsste in Wireshark um auch den HTTP Traffic zu sehen?

            Angehängte Dateien
            Zuletzt geändert von MaN0258; 02.01.2022, 10:53.

            Kommentar

            • Laubi
              Dumb Home'r
              • 01.01.2022
              • 28

              #8
              Hi,

              also in meinem testsetup (Go gen2, intercom , nix weiter) laufen die RequestSense per http und nicht https und offensichtlich udp,
              allerdings brauchst nen Loxone Client auf dem Rechner als nicht die Configuration Software

              wenn du keine Filter hast dann sollte wireshark die request eigentlich sehen,

              laubi
              Zuletzt geändert von Laubi; 02.01.2022, 12:31. Grund: HTTP nicht https

              Kommentar

              • Laubi
                Dumb Home'r
                • 01.01.2022
                • 28

                #9
                Hi,

                Zitat von MaN0258
                Hier habe ich mal kurz per Wireshark etwas mitgesnifft was zwischen meinem PC und der Klingel passiert. Ich sehe aktuell nur UDP Traffic. Jemand ne Idee ob ich anders filtern müsste in Wireshark um auch den HTTP Traffic zu sehen?
                Ja doch noch eine kleine Idee: HTTP Traffic entsteht - nach meine aktuellen dafürhalten - nur durch den Abruf von Bildern, sprich ich bin während des Aufzeichnens auf die Klingel im Loxone Client gegangen und habe dann über den Punkt Aktivitäten die Bilder einzeln geklickt.

                Laubi

                Kommentar

                • MaN0258
                  Dumb Home'r
                  • 29.05.2016
                  • 20

                  #10
                  Hi,
                  mittlerweile habe ich HTTP Traffic sniffen können. Habe nen Port Mirror eingerichtet an meinem Switch, damit sehe ich jetzt alles von der Intercom.
                  Dabei habe ich festgestellt, dass der HTTP Traffic zwischen Intercom und Miniserver geschieht. Ist das bei Dir auch so? Daher konnte ich den vorher an meinem PC auch nicht sehen. Habe dabei auch die gleichen zwei Befehle gefunden wie Du. Außerdem gibt es auch ein getkey Befehl vom Miniserver, aber seltsamerweise antwortet die Intercom darauf mit 404:
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: getkey.png
Ansichten: 4367
Größe: 5,2 KB
ID: 331259
                  Bisher habe ich nichts weiter gefunden, wie der Key ausgetauscht wird. Aber es gibt auch noch einiges an TCP Traffic zwischen Intercom und Miniserver. Möglicherweise ist da was drin.
                  Zuletzt geändert von MaN0258; 02.01.2022, 20:56.

                  Kommentar


                  • Laubi
                    Laubi kommentierte
                    Kommentar bearbeiten
                    Hi, nein der HTTP Traffic (den ich gesehen habe) war definitiv zwischen Mac (Loxone-Client) und Klingeltaster, hab gerade nochmal geschaut, nicht das ich versehentlich im Promisce Mode was gesehen hätte. Aber ich
                • Gagi
                  LoxBus Spammer
                  • 20.01.2018
                  • 290

                  #11
                  So wie sich das im Moment anhört geht Bild und Ton wirklich über UDP wie es auch im Port Mapping beschrieben ist. Da Frage ich mich allerdings wie das über ein Portfreigabe ohne Loxone Remote Connect (also zum Beispiel an nem Miniserver V1) gehen soll ?

                  Kommentar


                  • Laubi
                    Laubi kommentierte
                    Kommentar bearbeiten
                    Vielleicht sollte ich Anmerken, das ucg "Loxone Remote Connect" in der Config des Mini aktuell abgestellt habe, keine Ahnung ob das schon allein deswegen zu anderen Kommunikationen im Netz führen kann.

                  • MaN0258
                    MaN0258 kommentierte
                    Kommentar bearbeiten
                    Das geht über STUN und WebRTC.
                • MaN0258
                  Dumb Home'r
                  • 29.05.2016
                  • 20

                  #12
                  Hi zusammen,
                  mittlerweile bin ich etwas weiter gekommen:
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: authkey.png Ansichten: 0 Größe: 8,2 KB ID: 331270
                  Der Miniserver (192.168.178.250) fragt per HTTP die Intercom an, die antwortet mit Status Code 101 und "upgraded" auf websocket:
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 101.png Ansichten: 0 Größe: 35,2 KB ID: 331271

                  per Websocket sendet die Intercom dann in JSON den AuthKey als Parameter:
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: websocket.png Ansichten: 0 Größe: 25,7 KB ID: 331272
                  Das ist der AuthKey der dann später zum Abruf der Fotos genutzt wird.

                  Hier werden dann vom Miniserver die Letzten Aktivitäten abgerufen:
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: getlastactivities.png Ansichten: 0 Größe: 29,2 KB ID: 331273
                  Hier die Antwort darauf von der Intercom:
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: getlastactivities_response.png Ansichten: 0 Größe: 30,2 KB ID: 331274 Das erklärt also auch, woher die 10-Stellige Nummer in den Bildern herkommt, die Laubi in #5 erwähnt hat. Es ist das Aufnahmedatum als Unixtimestamp.

                  Kommentar

                  • MaN0258
                    Dumb Home'r
                    • 29.05.2016
                    • 20

                    #13
                    Bezüglich Video/Audio: Die Intercom sendet den Video Stream per WebRTC. Hier habe ich ein Websocket Command gefunden, das vermutlich den Stream startet:

                    Code:
                    {"id":3,"jsonrpc":"2.0","result":{"code":200,"data ":{"sdp":"v=0
                    o=- 3002364722 801986195 IN IP4 192.168.178.73
                    s=-
                    c=IN IP4 192.168.178.73
                    t=0 0
                    a=ice-ufrag:YripK3q
                    a=ice-pwd:xxxxxxxxxxxxxxxxxxxxxxxxxxx
                    a=setup:active
                    a=fingerprint:SHA-256 E5:96:77:6E:51:54:CB:01:FD:FF:C2:87:97:56:79:0E:BE :49:E4:1F:2B:64:DF:A0:ED:6D:3E:BC:14:A2:4A:D8
                    m=video 16494 UDP\/TLS\/RTP\/SAVPF 108 123
                    a=rtpmap:108 H264\/90000
                    a=fmtp:108 packetization-mode=0;profile-level-id=42e01f
                    a=rtpmap:123 H264\/90000
                    a=fmtp:123 packetization-mode=1;profile-level-id=42e01f
                    a=sendonly
                    a=ssrc:3878327014 cname:8KOFxnfnN0gX2IM
                    a=framerate:20.00
                    a=rtcp-fb:* nack pli
                    a=mid:0
                    a=rtcp-mux
                    ","type":"answer"},"message":"ok"}}
                    Mein Ziel ist es eigentlich ein Screenshot vom Videostream zu bestimmten Zeitpunkten erstellen zu können (nicht nur beim Klingeln).
                    Vielleicht lässt sich ja was mit node-webrtc (https://github.com/node-webrtc/node-webrtc) zaubern. Hier gibt es ein Beispiel, mit dem man einen WebRTC Stream an FFMPEG weiterleiten kann: https://github.com/node-webrtc/node-...ream/server.js

                    Eine andere Idee ist, mit Chrome Headless und Puppeteer die Loxone App zu öffnen und dadurch an den Video-Stream zu kommen. Ist aber natürlich nicht sonderlich elegant und ressourcenschonend.

                    Hier gibt es eine Python Library für WebRTC. Vielleicht kann man damit was hinbekommen?


                    Außerdem finde ich, dass das ganze nach einem Loxberry Plugin schreit.
                    Zuletzt geändert von MaN0258; 03.01.2022, 00:12.

                    Kommentar

                    • Laubi
                      Dumb Home'r
                      • 01.01.2022
                      • 28

                      #14
                      Hallo,

                      Gesundes Neues in die Runde und hier ein kurzes Info-Update, die die Loxone länger kennen werden das vermutlich besser einschätzen können als ich. Ich hatte ein Ticket bei Loxone aufgemacht, wie man den die auf der Webseite beworbene SIP-Fähigkeit nutzen kann. Heute (eigentlich hatte ich ein Autoreply, das es erst ab 10.01. zu einer Bearbeitung kommt) kam die Antwort:

                      dieses Feature ist derzeit noch nicht implementiert.
                      Wird aber mit einem Update nachgeliefert.
                      Jetzt meine Frage an die Kenner von Loxone, wie Hoffnungsvoll stimmt das bezüglich der Nutzung von SIP?

                      LG
                      Laubi

                      Kommentar


                      • Christian Fenzl
                        Christian Fenzl kommentierte
                        Kommentar bearbeiten
                        Den Audioserver gibt’s nun seit einem Jahr und vier Monaten, und die Software ist nicht fertig.
                        So als Vergleich.
                    • Laubi
                      Dumb Home'r
                      • 01.01.2022
                      • 28

                      #15

                      Also meine Erkenntnisse, nein ich bin mir nicht sicher das ich alles verstanden habe:
                      Hinweis: Ich habe extra ein Testaufbau gemacht (ist es bei mir eh gerade, sprich eh sich jemand mühe gibt die Passwörter zu erraten, ich habe absichtlich nicht maskiert

                      Loxone Mini-Server: 172.16.2.196 admin:admin
                      Loxone Intercom Gen2: 172.16.2.190
                      Client: 172.16.2.148

                      Wegen fehlenden Mirror-Port aktuell nur die Kommunikation zwischen Client und Miniserver bzw. Inercom, Kommunikation zwischen der Intercom und dem Miniserver kann ich gerade nicht sehen:


                      A) mein Client baut einen Websocket zum Miniserver auf
                      B) danach spricht er direkt die Intercom Gen2 an:

                      GET / HTTP/1.1
                      Host: 172.16.2.190
                      Connection: Upgrade
                      Pragma: no-cache
                      Cache-Control: no-cache
                      User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Loxone/12.2.6 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36
                      Upgrade: websocket
                      Origin: file://
                      Sec-WebSocket-Version: 13
                      Accept-Encoding: gzip, deflate
                      Accept-Language: de
                      Sec-WebSocket-Key: SHTkeIWmu2Tgtgq+ppsU6w==
                      Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
                      Sec-WebSocket-Protocol: webrtc-signaling



                      Er bekommt ein Verweis auf den Websocket:

                      HTTP/1.1 101 Switching Protocols
                      Upgrade: websocket
                      Connection: Upgrade
                      Sec-WebSocket-Protocol: webrtc-signaling
                      Sec-WebSocket-Accept: MDmVh1HUd560kOzxsBd7Lmw2Na0=


                      Und unmittelbar danach auch sofort per Wegsocket den für uns (zumindest für die Jpegs) interessanten Parameter

                      Line-based text data (1 lines)

                      [truncated]{"id":0,"jsonrpc":"2.0","method":"authenticate" ,"p arams":["FuvZPQd5vjeZ09bPwF8enXLEOop18ggszsq5hk6kAywXUCTVV VNEAxUcZXxynNme","92F39241E3448BC8969ED3C4BF21C193 504781D9859BBD24F86F60BA540BAEF02AFD19BD72C50665A8 8F9E0FFD23BAF3E082



                      Ja das ist der Key für das beide:

                      http://${KLINEL-TASTER-IP}/jpg/image.jpg?auth=64zeichen
                      snapshots/$(authkey))/bell/(10stellignummerisch).jpg


                      Frage: Gibts hier irgendwo ne Verständliche Doku wie ich den Websocket sinnvoll (am liebsten curl, Notfalls halt Python oder Perl) zum Miniserver testhalber aufbauen und halten kann?


                      Mein Ziel wäre:

                      -> script erfährt über Klingelsignal (Z. Bsp.: MiniServer löst http Request aus)
                      -> script baut Socken auf, und schreibt AuthKey Irgendwohin und hält Socken für x min fest (damit Auth Key nicht geändert wird).
                      -> dann könnte man das jpeg vom Live-Bild per proxy bereitstellen

                      und ja für mich richt das auch nach einen PlugIn ...

                      und bevor die Erwartungen zu hoch sind, das sind nur Ideen, ich bin kein Programmierer, e bissl Linux Skripten ja, mehr nicht.


                      Danke & Grüße

                      Laubi

                      Zuletzt geändert von Laubi; 16.01.2022, 11:02. Grund: Autokorrekturen von Wegsocken ;)

                      Kommentar

                      Lädt...