Ankündigung

Einklappen
Keine Ankündigung bisher.

Welche Einstellungen in Mobotix um Netzwerkbefehl an smarthome.py zu schicken?

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

    Welche Einstellungen in Mobotix um Netzwerkbefehl an smarthome.py zu schicken?

    Hallo!

    Noch ein Versuch

    Hab das network-plugin am Laufen und via "nc -w", "nc -uw" und "wget..." kann ich wunderbar Befehle schicken und Dinge schalten.

    Jetzt wollte ich von meiner Mobotix-Klingel gerne das Motorschloss via Pin schalten. Soweit hab ich alles eingerichtet bekommen und die Klingel schickt auch eine Netzwerkmeldung raus.
    Nur kann smarthome.py diese nicht interpretieren

    Hab im Mobotix-Menü folgendes eingestellt:
    Netzwerkmeldungs-Typ : Benutzerdefinierte Konfiguration
    Zieladresse: IP von smarthome.py : port (TCP 2727 bzw. HTTP 8090)
    Datenprotokoll: Nur TCP/IP und HTTP getestet
    Datentyp: nur Text
    Meldung: item|EG.Lounge.Decke|1

    Leider seh ich keinem Log (weder Mobotix noch smarthome.py (mit -d) was genau ankommt und wo der Fehler liegt

    Es wäre klasse, wenn mir jemand hier kurz weiterhelfen würde.

    Danke!

    Grüße
    Thorsten

    #2


    https://knx-user-forum.de/smarthome-...rbehebung.html

    Kommentar


      #3
      Naja, dachte es hätte schon jemand ein Mobotix-System mit smarthome.py im Einsatz.

      Zu obigen Infos halt noch die Logzeilen dazu. Nicht, dass da viel Neues steht:

      "smarthome.py -d" Output:
      Code:
      2014-01-22 20:09:35,334 DEBUG    Main         TCPDispatcher: incoming connection from xxx.xxx.xxx.xxx:34716 to 0.0.0.0:2727 -- connection.py:accept:188
      2014-01-22 20:09:36,335 DEBUG    Main         TCPHandler: closing socket xxx.xxx.xxx.xxx:34716 -- connection.py:close:308
      "Mobotix" Log-Ouput:
      Code:
      Verschicken einer Netzwerkmeldung gemäß Profil "MotorschlossAUF". Das kann bis zu einer Minute dauern:
      INF: loading notify profile ip_52ded72e ...
      INF: name given by user is MotorschlossAUF ...
      INF: set profile send order "parallel"
      INF: set profile address "xxx.xxx.xxx.xxx:2727"
      INF: set profile data type "msg"
      INF: set profile message "item|EG.Lounge.Decke|1"
      INF: set profile raw boundary ""
      INF: force generation of current JPEG ... 
      INF: [hdl#1] connection established (ip=xxx.xxx.xxx.xxx, port=2727, fd=2) ...
      INF: notification to xxx.xxx.xxx.xxx:2727 has been sent [msg okay=1].
      Result:
      INF: sending message succeed. 1x22 bytes in 2.002s.

      Kommentar


        #4
        Hi Thorsten,

        probier mal

        Meldung: item|EG.Lounge.Decke|1\n

        Bis bald

        Marcus

        Kommentar


          #5
          Leider keine Änderung.
          Im smarthome.py -d Output das gleiche und bei Mobotix einfach nur der Linebreak dabei.

          Code:
          Verschicken einer Netzwerkmeldung gemäß Profil "MotorschlossAUF". Das kann bis zu einer Minute dauern:
          INF: loading notify profile ip_52ded72e ...
          INF: name given by user is MotorschlossAUF ...
          INF: set profile send order "parallel"
          INF: set profile address "xxx.xxx.xxx.xxx:2727"
          INF: set profile data type "msg"
          INF: set profile message "item|EG.Lounge.Decke|1
          "
          INF: set profile raw boundary ""
          INF: force generation of current JPEG ... 
          INF: [hdl#1] connection established (ip=xxx.xxx.xxx.xxx, port=2727, fd=2) ...
          INF: notification to xxx.xxx.xxx.xxx:2727 has been sent [msg okay=1].
          Result:
          INF: sending message succeed. 1x24 bytes in 2.003s.

          Kommentar


            #6
            Mit der Einstellung "HTTP/1.0-Request" in den Netzwerkmeldungs-Einstellung im Mobotix System bekomm ich folgende Meldungen in den Logs:

            Smarthome.py:
            Code:
            2014-01-22 21:07:18,212 DEBUG    Main         HTTPDispatcher: incoming connection from xxx.xxx.xxx.xxx:55633 to 0.0.0.0:8090 -- connection.py:accept:188
            2014-01-22 21:07:18,222 ERROR    Main         Unsupporter key element ?item. Data: ?item|EG.Lounge.Decke|1 -- __init__.py:parse_input:235
            2014-01-22 21:07:18,229 DEBUG    Main         HTTPHandler: closing socket xxx.xxx.xxx.xxx:55633 -- connection.py:close:308
            20
            Mobotix:
            Code:
            Verschicken einer Netzwerkmeldung gemäß Profil "MotorschlossAUF". Das kann bis zu einer Minute dauern:
            INF: loading notify profile ip_52ded72e ...
            INF: name given by user is MotorschlossAUF ...
            INF: set profile send order "parallel"
            INF: set profile address "xxx.xxx.xxx.xxx:8090"
            INF: set profile data type "msg"
            INF: set profile message "item|EG.Lounge.Decke|1"
            INF: set profile http version: "HTTP/1.0"
            INF: set profile http cgi path: "/"
            INF: set profile http authorize: ""
            INF: force generation of current JPEG ... 
            INF: [hdl#1] connection established (ip=xxx.xxx.xxx.xxx, port=8090, fd=2) ...
            INF: [hdl#1] HTTP-Headers: HTTP/1.1 400 Bad Request
            Result:
            ERR: HTTP-Request für xxx.xxx.xxx.xxx:8090 war unvollständig (HTTP-Code 400)!

            Kommentar


              #7
              Hi,

              trage doch bitte mal nach Zeile 43:

              Code:
                      logger.info(data)
              ein und poste den Output mit TCP.

              Danke und bis bald

              Marcus

              Kommentar


                #8
                Ich geh mal davon aus, dass du das network-plugin meinst

                Also:
                Code:
                    def found_terminator(self, data):
                        logger.info(data)
                        self.parser(self.source, self.dest, data.decode().strip())
                        self.close()
                Output keine weiteren Erkenntnisse (natürlich hab ich smarthome.py beendet und mit -d neu gestartet nach dem Speichern der Änderung):
                Code:
                2014-01-22 21:45:30,683 DEBUG    Main         TCPDispatcher: incoming connection from xxx.xxx.xxx.xxx:50112 to 0.0.0.0:2727 -- connection.py:accept:188
                2014-01-22 21:45:31,681 DEBUG    Main         TCPHandler: closing socket xxx.xxx.xxx.xxx:50112 -- connection.py:close:308

                Kommentar


                  #9
                  Hi,

                  also wenn es mit nc klappt und mit der Netzwerkamera nicht, dann wäre ein Netzwerkdump hilfreich was die Kamera wirklich verschickt.

                  Sonst fällt mir momentan nichts ein.

                  Gute Nacht

                  Marcus

                  Kommentar


                    #10
                    So, bis ich mehr rausfinde hab ich eine Lösung gefunden.

                    Hab einfach Zeile 76 im network-plugin ein wenig geändert:
                    Code:
                                    request = line.split(' ')[1].strip('/?')
                    So wird das "?" vom Mobotix auch entfernt und es geht erstmal, bis ich rausfinde, was via TCP/IP geschickt wird.

                    Grüße
                    Thorsten

                    Kommentar


                      #11
                      Hallo Thorsten,

                      hast du dich hier noch mal dran gesetzt und den Fehler gefunden? Ich habe exakt das gleiche Problem!

                      Mit tcpdump und wireshark habe ich mir mal angeguckt, was da so an Paketen ankommt. Die Nutzdaten kommen definitiv sauber an!

                      @Marcus: kannst du mit dem tcpdump-file was anfangen?

                      Danke & Gruß,
                      Malte

                      Kommentar


                        #12
                        Hi,

                        habe den Beitrag erst jetzt gelesen, vielleicht hilft das Folgende:

                        ich habe eine T24 in Betrieb und versende über IP-Notifies Meldungen an smarthome.pi mit der folgenden Config:

                        Konfiguration smarthome.pi:

                        plugin.conf:
                        Code:
                        [nw]
                            class_name = Network
                            class_path = plugins.network
                            tcp = yes

                        item.conf:
                        Code:
                        [aa]
                            [[ha]]
                                [[[T24]]]
                                    type = str
                                    nw_tcp_listen = 4711

                        logic.conf:
                        Code:
                        [T24]
                            filename = T24.py
                            watch_item = aa.ha.T24

                        T24.py:
                        Code:
                        #!/usr/bin/env python
                        #
                        # T24.py
                        #
                        if trigger['by']=='Item':
                            if sh.aa.ha.T24() == 'ringbutton':
                                sh.visu.url("index.php?page=aa.tuerkamera")
                                sh.aa.ha.T24('')


                        Konfiguration der T24:

                        IP-Notify Profile (wird bei mir bei Klingeltastendruck ausgelöst) mit

                        Code:
                        IP-Notify Type: custom-configuration
                        Destination Address: ip:4711
                        Data-Protocol: Raw TCP/IP
                        Data-Type: plain-text
                        text: "ringbutton" mit folgendem return im Textfeld, also in der ersten Zeile der Text "ringbutton" ohne die "" und dann enter drücken
                        Send Port: 0

                        Damit wird der Text ringbutton von T24 an smarthome.pi übertragen, die Logik getriggert und Aktion (in meinem Fall Aufschalten des T24 Livebildes in der Smartvisu) ausgelöst.

                        Gruß
                        Holger
                        Zuletzt geändert von 2pi; 05.02.2016, 22:49.

                        Kommentar


                          #13
                          Hallo Holger,

                          kannst Du bitte noch beschreiben wie Du das Kamerabild in der Smartvisu darstellst.
                          Popup ? Wie gelöst ??

                          Danke, JG
                          Gruß, JG

                          Kommentar


                            #14
                            Bei mir funktioniert das nicht, bitte um Hilfe, es wird weder das Licht geschaltet noch in der Smartvisu die Page.
                            Hab ich irgendetwas übersehen?

                            Code:
                            if trigger['by']=='Item':
                                if sh.EG.tuerglocke.T25_send() == 'ringbutton':
                                    sh.visu.url("index.php?page=aa.tuerkamera") and sh.EG.deckenlicht_technik(1)
                                    sh.EG.tuerglocke.T25_send('')
                            Code:
                            [EG]
                            ###################################
                            
                              [[tuerglocke]]
                                [[[T25_send]]]
                                  type = str
                                  nw_tcp_listen = 4711
                                [[[lauten]]]
                                  type = bool
                                        knx_dpt = 1
                                        knx_send = 4/3/7
                            Code:
                            [T25]
                                filename = mobotixt25.py
                                watch_item = EG.tuerglocke.T25_send

                            Kommentar


                              #15
                              Hallo rok123,

                              dein Problem sind die Einstellungen im Mobotix.
                              Datenprotokoll HTML und bei CGI (nicht bei Text) dann z.B.
                              Code:
                              item|EG.tuerglocke.lauten|1
                              Ein Logik ist nicht notwendig.

                              Grüße
                              Thorsten

                              PS: Bin gerade unterwegs und hab keinen Zugriff auf die Mobotix-Einstellungen, daher nur so kurz aus dem Kopf.

                              Kommentar

                              Lädt...
                              X