Ankündigung

Einklappen
Keine Ankündigung bisher.

Einbindung Videosprechanlage

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

    Einbindung Videosprechanlage

    Hallo!
    Bei mir werkelt eine Wantec "Monolith C IP" als Außenstelle. Die Verteilung der Anrufe bei Knopfdruck über die Fritzbox funktioniert wie gewünscht.
    Nun würde ich das ganze gerne in openHAB2 einbinden. Bei den Einstellungen kann ich einen HTTP Befehl bei Druck auf Klingelknopf hinterlegen.
    Wie schaffe ichs nun die Außenstelle mit diesem Befehl (wie soll der ausschauen?) die Verbindung zu openHAB zu bringen?

    Hatte in der OH-Community nachgefragt, dort wurde ich auf die REST-API verwiesen. Habe auch die Doku über Paper-UI installiert, hilft mir aber auf Grund mangelnden Verständnisses leider nicht weiter...
    Würde mich freuen, wenn ihr mir (wiedermal) weiterhelfen könntet...
    Idealerweise sollte ich das an der Außenstelle verbaute Relais (DTMF) auch von openHAB auslösen können? Ist vermutlich eine gänzlich andere Baustelle?

    Gruß von einem Unwissenden!

    EDIT: falls es jemand brauchen sollte, die Lösung ist hier: https://community.openhab.org/t/impl...-http/29877/11
    Zuletzt geändert von narf; 15.08.2017, 08:53.

    #2
    Wenn Du das Gerät per HTTP steuern kannst, musst Du ein (String) Item anlegen, welches zur Kommunikation mit dem Gerät genutzt wird (mittels http-binding).
    Über ein Rule schickst Du dann die Steuerbefehle an das Item. Die Gegenrichtung (also vom Gerät Rinchtung openHAB) benötigt entweder eine Poll-Lösung, also dass openHAB regelmäßig auf dem Gerät eine Information abholt, oder auf dem Gerät muss ein Script ausgeführt werden, welches die Information aktiv an openHAB sendet. Wenn Du das frei programmieren kannst, hast Du die Wahl, ob Du nun eine Anfrage über die REST-API absetzt oder z.B. das tcp-binding nutzt. Dazu richtest Du halt ein Item ein, welches per tcp/udp-Binding auf einem bestimmtenPort lauscht. An diesen muss Dein Gerät dann den Steuerbefehl absetzen.

    Kommentar


      #3
      Ich kann beim Gerät genau in einem Feld einen Http Befehl eingeben, welcher beim Klingeln ausgelöst wird.

      Kommentar


        #4
        Über die Dokumentation der openHAB REST API kannst Du den nötigen Request generieren. Wenn Du also z.B. ein Switch Item myBell hast, gehst Du auf http://openhab2-ip:8080/doc/index.html#!/items, suchst Dort nach POST und trägst im Feld itemname myBell ein. Im Feld body trägst Du ON ein. Dann klickst Du auf Try it out! und openHAB erzeugt den Request. Den kannst Du dann bequem kopieren. Wobei ich mir gerade nicht sicher bin, wie man ein POST absetzt (also ohne z.B. curl) Eventuell gibt die Dokumentation der Sprechanlage da einen Hinweis.

        Da nur eine Nachricht verschickt wird, wenn der Knopf gedrückt wird, sieht man keinen Change (jedenfalls nicht mehr nach dem 1. Klingeln), sondern nur ein Update. Wenn das stört, kannst Du z.B. das expire Binding dazu nutzen, dass das Item automatisch nach einer Sekunde auf OFF wechselt.

        Kommentar


          #5
          Zitat von udo1toni Beitrag anzeigen
          Über die Dokumentation der openHAB REST API kannst Du den nötigen Request generieren. Wenn Du also z.B. ein Switch Item myBell hast, gehst Du auf http://openhab2-ip:8080/doc/index.html#!/items, suchst Dort nach POST und trägst im Feld itemname myBell ein. Im Feld body trägst Du ON ein. Dann klickst Du auf Try it out! und openHAB erzeugt den Request. Den kannst Du dann bequem kopieren. Wobei ich mir gerade nicht sicher bin, wie man ein POST absetzt (also ohne z.B. curl) Eventuell gibt die Dokumentation der Sprechanlage da einen Hinweis.
          Hallo!
          Zurück aus dem Urlaub =)
          Keine Angst, ich konnte das Problem / die Fragestellung noch nicht lösen... Habs gerade nach deiner Anleitung versucht und habe den Teil von "Request URL" bei meiner Monolith Sprechanlage im Feld Http-Befehl eingegeben.
          Wenn ich bei der REST API Dokumentation "Try it out!" versuche, bekomme ich im events.log
          Code:
          2017-07-11 13:06:29.006 [ItemCommandEvent          ] - Item 'Torklingel' received command ON
          Beim Auslösen des Taster geht leider nichts. Scheint also nicht bei openHAB anzukommen.

          EDIT: bei POST steht in der Dokumentation "Sends a command to an item." - ich sollte aber eigtl. den Status Update bekommen, bin ich da schon auf dem richtigen Pfad?

          Mit http://openhabianpi:8080/rest/items/Torklingel bekomme ich ja nur den Status des Items, per Curl würde ich den Befehle praktisch von Klingel zu openHAB schicken, oder? Hab schon versucht, das curl Feld unter Http-Befehl einzugeben, hat aber wie erwartet keinen Erfolg gebracht :/
          Zuletzt geändert von narf; 11.07.2017, 12:23.

          Kommentar


            #6
            Zitat von narf Beitrag anzeigen
            EDIT: bei POST steht in der Dokumentation "Sends a command to an item." - ich sollte aber eigtl. den Status Update bekommen, bin ich da schon auf dem richtigen Pfad?
            Streng genommen ist es doch ein Kommando, letztlich ist es aber egal, ob Du nur ein Update erzeugst oder einen Befehl sendest, aus openHAB-Sicht besteht der Unterschied nur in zwei Punkten:
            1. sendCommand wird an alle Bindings weitergeleitet die mit dem Item verknüpft sind. Wenn also mehr als ein Binding mit dem Klingelknopf verbunden ist und über ein Binding ein Befehl gesendet wird, wird dieser an die anderen Bindings als Befehl weitergereicht, dann geht z.B. eine Leuchte an, wenn jemand die Klingel drückt. Bei einem PostUpdate sollte das nicht der Fall sein, einzig der Status des Items wird verändert.
            2. Wenn man Rules programmiert, wird ein sendComand sowohl eine Rule mit dem Trigger received update als auch eine Rule mit dem Trigger received command auslösen, bei einem Update wird received command nicht getriggert.



            Mit der REST API ist es so, dass der Client (also die Türstation) die Methoden PUT bzw. POST unterstützen muss, sonst geht es nicht. Unter OH1 gab es die Möglichkeit, auch mit HTTP-GET einen Befehl abzusetzen (innerhalb der Classic UI), das ist wohl weggefallen, jedenfalls finde ich dazu keine Infos mehr.

            Nutzt Du die SIP-Funktion der Türstation? Vielleicht könntest Du auf der Gegenseite (also Fritzbox/asterisk Server/whatever) das eingehende Signal umsetzen und z.B. mit curl openHAB zur Mitarbeit überreden. Alternativ könntest Du entweder versuchen, ob Du mit dem TCP-Binding etwas vom HTTP-Request mitbekommst. Dazu nimmst Du dann natürlich einen freien Port, also nicht 8080, sondern z.B. 51687 (also was x-beliebiges, was aber nicht mit irgendeinem Dienst belegt ist), vielleicht reagiert openHAB dann darauf.
            Oder, falls das nicht zum Erfolg führt, bliebe noch, parallel zu openHAB einen Webserver auf einem anderen Port laufen zu lassen und mit einem Script automatisiert die Anfragen umzusetzen - wenig elegant, aber das müsste auf jeden Fall funktionieren.

            Die letzte Möglichkeit (wobei dann eher viel Geduld angesagt ist) wäre, im englischen Forum anzufragen, ob jemand eine entsprechende Erweiterung bauen kann, die Anforderung ist jedenfalls nicht exotisch...
            Zuletzt geändert von udo1toni; 12.07.2017, 05:45.

            Kommentar


              #7
              Leider schaff ich ja genau die Verbindung mit irgendeinem Binding nicht :/

              Ich nutze die SIP Funktion der Türstation und habe auf der anderen Seite eine Fritzbox. Du weißt jetzt nicht zufällig, wie ich da am besten weiterkomme, oder?

              Okay, ich werds mal hiermit versuchen: http://docs.openhab.org/addons/bindi...-configuration
              da ist unter anderem folgendes gelistet:

              Code:
              call monitor
              Switch Item: Receives “ON” state when call is incoming
              Call Items: Shows external an internal number for incoming/outgoing calls
              Zuletzt geändert von narf; 12.07.2017, 07:57.

              Kommentar


                #8
                Zitat von narf Beitrag anzeigen
                Okay, ich werds mal hiermit versuchen: http://docs.openhab.org/addons/bindi...-configuration
                Genau, daran hatte ich auch gedacht. Ich habe allerdings keine Fritz!Box, aber das TR64-Bindings sollte mit der aktuellen Firmware funktionieren, soweit ich die Diskussion mitbekommen habe...

                Kommentar


                  #9
                  Update: geht, hab den "fix permissions" Befehl von der openhabian-config aus mal durchlaufen lassen.

                  kann grad gar keine bindings mehr installieren...
                  Code:
                  2017-07-11 20:37:36.315 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-http1': Permission denied
                  2017-07-13 11:03:29.031 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-fritzboxtr0641': Permission denied
                  So ein Käse... Habs auch im englischen Forum gepostet, hoffe ich kann das bald lösen...
                  Zuletzt geändert von narf; 13.07.2017, 10:18.

                  Kommentar


                    #10
                    ne, funzt leider net. im call-log werden nur anrufe nach außen protokolliert, die türstation ruft nur eine interne nummer an. intern und extern funktioniert leider nicht. und auf die interne kann ich nicht verzichten

                    Kommentar


                      #11
                      hab das mit dem http Befehl nun endlich hinbekommen: https://community.openhab.org/t/impl...-http/29877/11
                      kein curl, kein REST, tatsächlich nur ein einfacher CMD über die openHAB classic UI. thank god =)

                      Kommentar

                      Lädt...
                      X