Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit dem network plugin (UDP)

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

    Problem mit dem network plugin (UDP)

    Hallo zusammen,
    ich glaub ich seh den Wald vor lauter Bäumen nicht mehr. Ich bekomme keine Werte per UDP in shNG.py rein.
    Mein Problem ist dass nicht alle Werte in den Items landen die ich per UDP an shNG.py schicke. Reproduzierbar kommt immer der PH Wert an.
    Am Anfang und nur am Anfang in seltenen Fällen noch ein anderer (z.B. Chlor oder WasserTemp).

    plugins.conf:
    Code:
    [nw]
    class_name = Network
    class_path = plugins.network
    port = 2727
    udp = yes
    items/aussenanlage.conf:
    Code:
    [Aussenanlage]
        [[Pool]]
            [[[Pumpe]]]
                type = bool
                  knx_dpt = 1
                knx_send = 1/6/13
                knx_init = 1/6/14
    
                [[[[Schaltuhr]]]]
                    type=dict
                    uzsu_item=Aussenanlage.Pool.Pumpe
                    cache=True
                    visu_acl=rw
    
            [[[Beleuchtung]]]
                type = bool
                knx_dpt = 1
                knx_send = 1/6/5
                knx_init = 1/6/6
                
            [[[WasserTemp]]]
                type = num
                nw = yes
                visu = yes
                sqlite = init
                enforce_updates = true
    
            [[[LuftTemp]]]
                type = num
                nw = yes
                visu = yes
                sqlite = init
                enforce_updates = true
    
            [[[Chlor]]]
                type = num
                nw = yes
                visu = yes
                sqlite = init
                enforce_updates = true
    
            [[[PH]]]
                type = num
                nw = yes
                visu = yes
                sqlite = init
                enforce_updates = true
    ...
    Log:
    Code:
    2016-05-24 07:29:45,863 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
    [COLOR=#FF0000]2016-05-24 07:29:45,863 DEBUG    Main         NW Plugin received value 20.5 from Aussenanlage.Pool.WasserTemp -- __init__.py:parse_input:200[/COLOR]
    [B]2016-05-24 07:29:45,863 DEBUG    Main         Item Aussenanlage.Pool.WasserTemp = 20.5 via UDP 192.168.178.245 None -- item.py:__update:373[/B]
    2016-05-24 07:29:45,983 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
    2016-05-24 07:29:45,983 DEBUG    Main         NW Plugin received value 22.0 from Aussenanlage.Pool.LuftTemp -- __init__.py:parse_input:200
    2016-05-24 07:29:46,093 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
    2016-05-24 07:29:46,093 DEBUG    Main         NW Plugin received value 2.5 from Aussenanlage.Pool.PH -- __init__.py:parse_input:200
    [B]2016-05-24 07:29:46,093 DEBUG    Main         Item Aussenanlage.Pool.PH = 2.5 via UDP 192.168.178.245 None -- item.py:__update:373[/B]
    2016-05-24 07:29:46,209 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
    2016-05-24 07:29:46,209 DEBUG    Main         NW Plugin received value 645.0 from Aussenanlage.Pool.Chlor -- __init__.py:parse_input:200
    (Nicht irritieren lassen von der roten Zeile, die habe ich zu Debug-Zwecken in das network-plugin eingefügt)

    Vielen Dank für euer Feedback!

    Grüße
    Matthias

    #2
    So wie es aussieht lag es an meinem Arduino Setup. Trotzdem bin ich noch leicht irritiert wieso nicht jedes Item dass auch tatsächlich upgedatet wird, im Log erscheint.
    Naja, es tut.

    Kommentar


      #3
      Irgendwie zu früh gefreut. Es funktioniert nach wie vor nicht richtig. Jemand ne Idee wieso er (siehe Log) nur den PH Wert stabil erfasst?

      Danke + Gruß
      Matthias

      Kommentar


        #4
        Wenn Du mit UDP arbeitest: Das kann klappen, muß aber nicht. UDP ist fire and forget. Hast Du mal mit nc / netcat geschaut, ob die Daten vom Arduino richtig gesendet werden?
        Werden die Werte in bestimmter Reihenfolge gesendet? Wieviel Zeit ist dazwischen?

        Kommentar


          #5
          Hallo Bernd,
          die Reihenfolge ist immer die gleiche und zwischen den Werten liegen 2 Sekunden.
          Code:
          2016-05-26 12:44:04,769 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:44:04,769 DEBUG    Main         NW Plugin received value 20.5 from Aussenanlage.Pool.WasserTemp. -- __init__.py:parse_input:200
          
          2016-05-26 12:44:06,887 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:44:06,887 DEBUG    Main         NW Plugin received value 22.5 from Aussenanlage.Pool.LuftTemp. -- __init__.py:parse_input:200
          
          2016-05-26 12:44:11,082 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.245:40000 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:44:11,082 DEBUG    Main         NW Plugin received value 2.9 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:44:11,082 DEBUG    Main         Item Aussenanlage.Pool.PH = 2.9 via UDP 192.168.178.245 None -- item.py:__update:373
          Mit netcat Funktioniert es auch nicht immer. Kann es sein dass sh.py einen Zeitlichen Abstand benötigt bevor es ein nächstes Item Update annimmt?
          Wenn ich mit netcat im Sekunden intervall den PH Wert aktualisiere (welcher der stabilste Wert ist) nimmt er es auch nicht jedes Mal an..

          Code:
          2016-05-26 12:50:51,444 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:58707 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:51,444 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:52,388 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:58992 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:52,389 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:52,868 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:59539 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:52,868 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:53,292 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:49351 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:53,293 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:53,764 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:54413 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:53,764 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:54,220 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:58698 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:54,220 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          2016-05-26 12:50:54,692 DEBUG    Main         UDPDispatcher: incoming connection from 192.168.178.250:51602 to 0.0.0.0:2727 -- __init__.py:handle_connection:109
          2016-05-26 12:50:54,692 DEBUG    Main         NW Plugin received value 2.2 from Aussenanlage.Pool.PH. -- __init__.py:parse_input:200
          Siehe hier..


          Danke + Gruß
          Matthias

          Kommentar


            #6
            Bist du sicher, dass die Items den Wert nicht bereits gespeichert haben? Mal mit cli nachgeschaut?
            So wie es aussieht wird dieser nur nicht aktualisiert, da er sich nicht ändert.
            Mit sqlite = init holst du dir ja den letzten Wert aus der Datenbank und so lange dieser sich nicht ändert, siehst Du im Log auch nicht, dass dieser geändert wird.

            Kommentar


              #7
              Du hast Recht, im CLI werden die aktualisierten Werte angezeigt. Aber meine VISU sieht so aus, als würden keine aktualisierten Werte ankommen. Sie zeigt eine waagerechte Linie.

              Kommentar


                #8
                Meinst Du nun
                a) Du schickst mit netcat an Smarthome die Werte und die werden nicht richtig angenommen oder
                b) Du liest mit Netcat die Werte vom Arduino und die werden nicht richtig geschickt?

                Kommentar


                  #9
                  a)
                  Die Werte kommen an, nur die Visu ist ggf. falsch konfiguriert. Da der Wert sich nicht ändert, gibt es auch keine Einträge im Log.
                  Mach mal ein Screenshot von der Visu und poste den Quelltext

                  + 5 Euro in die Supportkasse ;-)

                  Kommentar


                    #10
                    bmx : Ich vermutete a.

                    cmalo: Anbei der Screenshot. Welchen Quelltext meinst Du? Visu? Ich unterstütze gerne shNG.py, sag wo!

                    Lasst euch nicht von dem Chlor Wert irrtieren, dass ist aktuell noch ein konstanter Wert.Die Zacken kommen vom Neustart des Arduinos. (Ist noch ein Bug..)

                    Danke für eure Hilfe!
                    Angehängte Dateien
                    Zuletzt geändert von nextwerk; 26.05.2016, 20:16.

                    Kommentar


                      #11
                      Also b) hast Du schon probiert und am Terminal via netcat festgestellt, das die Werte vom Arduino so geschickt werden, wie es sein soll? Das wäre natürlich wichtig bevor wir bei SmarthomeNG weitersuchen, ob es da ein Timing Problem gibt. Können wir also sicher sein, das der Arduino auch schön sendet wie gewollt?

                      Kommentar


                        #12
                        - Timing Problem hab ich schon mal nachgeschaut, funktionert alles.

                        Schau dir mal dein Setup noch mal an und die Visu Webseite. Die Werte in Smarthome siehst du per CLI, dann stimmt da erstmal alles.
                        Die Logeinträge sind so auch ok, wenn sich der Wert nicht ändert, dann hast du auch keine Item-Wert Änderung im Log.
                        Woher kommen die mehrfachen Werte in dem Screenshot? Hast du vielleicht ein Problem mit der Uhrzeit?
                        Daher würden auch die geraden Linien kommen.

                        Kommentar


                          #13
                          Habe das WLAN Modul am Arduino getauscht. Bis jetzt sieht es sehr gut aus. Hatte ein ESP8266MOD im Einsatz und jetzt das originale Arduino Wifi Shield.

                          Kommentar

                          Lädt...
                          X