Ankündigung

Einklappen
Keine Ankündigung bisher.

1Wire-Items werden nicht regelmässig aktualisiert

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

    1Wire-Items werden nicht regelmässig aktualisiert

    Hallo zusammen!

    Hab ein Problem, welchen ich seit Tagen nicht auf die Schliche komme.

    Folgende Konstellation:

    - RPi 3
    - WireGate PBM (unendliche Slaves)
    - SHNG 1.5.1 (aktuellstes Image)

    Habe unterschiedliche Sensoren (DS18B20, MultiSensor, Hülsenfühler etc. - alle von WireShop) am Professional Busmaster angeschlossen. Weiters ist OWFS & OWHTTPD installiert und konfiguriert. Ich kann alle Sensoren sowohl via "owread" als auch via der OWHTTP-Webseite auslesen.

    Die Werte werden dann über eine gewisse Zeit aktualisert (Standardwert 300 Sekunden) - und aus irgendeinem Grund dann nicht mehr. Wenn ich über die OWHTTP-Webseite mir die Werte anschauen, differieren diese dann von den Itemwerten im Backend .....
    Ausser vom Luftfeuchtsensor, dieser wird immer alle 5 Minuten aktualisiert ..... Bin grad etwas ratlost .....

    Hier mal ein paar Infos hinsichtlich Konfig:

    owfs.conf
    ######################## SOURCES ########################
    #
    # With this setup, any client (but owserver) uses owserver on the
    # local machine...
    ! server: server = 127.0.0.1:4304
    #
    # ...and owserver uses the real hardware, by default fake devices
    # This part must be changed on real installation
    #server: FAKE = DS18S20,DS2405
    #
    # USB device:
    server: pbm /dev/ttyUSB0

    #server: usb = scan
    #
    # Serial port: DS9097
    #server: device = /dev/ttyS1
    #
    # owserver tcp address
    #server: server = 192.168.10.1:3131
    #
    # random simulated device
    #server: FAKE = DS18S20,DS2405
    #
    ######################### OWFS ##########################
    #
    mountpoint = /mnt/1wire
    allow_other
    #
    ####################### OWHTTPD #########################
    http: port = 2121
    ####################### OWFTPD ##########################
    ftp: port = 2120
    ####################### OWSERVER ########################
    server: port = 127.0.0.1:4304
    Item-Config:
    OneWire:
    TempSensor1:
    name: TempSensor TECHNIKRAUM
    type: num
    ow_addr: '28.438C64080000'
    ow_sensor: T
    visu_acl: rw
    sv_page: room
    sv_img: temp_temperature.svg
    sv_widget: "{{ plot.period('TempSensor1_plot1h', 'OneWire.TempSensor1', 'avg', '1h') }}{{ basic.float('TempSensor1_float', 'OneWire.TempSensor1', '°C') }}{{ plot.period('TempSensor1_plot24h', 'OneWire.TempSensor1', 'avg', '24h') }}{{ plot.period('TempSensor1_plot7d', 'OneWire.TempSensor1', 'avg', '7d') }}"
    sqlite: yes

    TempSensor2:
    name: TempSensor MultiSensor LAGERRAUM
    type: num
    ow_addr: '28.3A1041090000'
    ow_sensor: T
    visu_acl: rw
    sv_page: room
    sv_img: temp_temperature.svg
    sv_widget: "{{ plot.period('TempSensor2_plot1h', 'OneWire.TempSensor2', 'avg', '1h') }}{{ basic.float('TempSensor2_float', 'OneWire.TempSensor2', '°C') }}{{ plot.period('TempSensor2_plot24h', 'OneWire.TempSensor2', 'avg', '24h') }}{{ plot.period('TempSensor2_plot7d', 'OneWire.TempSensor2', 'avg', '7d') }}"
    sqlite: yes

    TempSensor3:
    name: TempSensor LAGERRAUM
    type: num
    ow_addr: '28.C3E765080000'
    ow_sensor: T
    visu_acl: rw
    sv_page: room
    sv_img: temp_temperature.svg
    sv_widget: "{{ plot.period('TempSensor3_plot1h', 'OneWire.TempSensor3', 'avg', '1h') }}{{ basic.float('TempSensor3_float', 'OneWire.TempSensor3', '°C') }}{{ plot.period('TempSensor3_plot24h', 'OneWire.TempSensor3', 'avg', '24h') }}{{ plot.period('TempSensor3_plot7d', 'OneWire.TempSensor3', 'avg', '7d') }}"
    sqlite: yes

    TempSensor4:
    name: TempSensor Hülsenfühler(AZK) LAGERRAUM
    type: num
    ow_addr: '28.B9B563080000'
    ow_sensor: T
    visu_acl: rw
    sv_page: room
    sv_img: temp_temperature.svg
    sv_widget: "{{ plot.period('TempSensor4_plot1h', 'OneWire.TempSensor4', 'avg', '1h') }}{{ basic.float('TempSensor4_float', 'OneWire.TempSensor4', '°C') }}{{ plot.period('TempSensor4_plot24h', 'OneWire.TempSensor4', 'avg', '24h') }}{{ plot.period('TempSensor4_plot7d', 'OneWire.TempSensor4', 'avg', '7d') }}"
    sqlite: yes

    HumSensor1:
    name: FeuchteSensor MultiSensor LAGERRAUM
    type: num
    ow_addr: '26.A80528020000'
    ow_sensor: H
    visu_acl: rw
    sv_page: room
    sv_img: weather_humidity_rel.svg
    sv_widget: "{{ plot.period('HumSensor1_plot1h', 'OneWire.HumSensor1', 'avg', '1h') }}{{ basic.float('HumSensor1_float', 'OneWire.HumSensor1', '%') }}{{ plot.period('HumSensor1_plot24h', 'OneWire.HumSensor1', 'avg', '24h') }}{{ plot.period('HumSensor1_plot7d', 'OneWire.HumSensor1', 'avg', '7d') }}"
    sqlite: yes

    Plugin.yaml

    # plugin.yaml
    # Der BackendServer stellt eine Übersicht zur Laufzeit dar und liefert Informationen ähnlich wie das CLI Plugin
    # Der Zugriff erfolgt über http://<IP oder Name des SmartHomeNG Servers bzw. ip>:<port>
    # port wird als Attribut weiter unten definiert
    # das Passwort ist zunächst im Klartext anzugeben. In neueren Versionen wird es eine Funktion im Backend geben,
    # die aus einem gegebenen Passwort einen Hash erzeugt. Wenn user oder password fehlen gibt es keine Abfrage
    BackendServer:
    class_name: BackendServer
    class_path: plugins.backend
    port: 8383
    updates_allowed: 'True'
    threads: 8
    user: ''
    password: ''
    language: de

    # KNX Verbindung via knxd
    #knx:
    # class_name: KNX
    # class_path: plugins.knx
    # host: 127.0.0.1
    # port: 6720
    # send_time: 600 # update date/time every 600 seconds, default none
    # time_ga: 1/1/1 # default none
    # date_ga: 1/1/2 # default none

    # Bereitstellung eines Websockets zur Kommunikation zwischen SmartVISU und SmartHomeNG
    visu:
    class_name: WebSocket
    class_path: plugins.visu_websocket
    # ip: 0.0.0.0
    # port: 2424
    # tls: no
    wsproto: 4
    acl: rw

    # Autogenerierung von Webseiten für SmartVISU
    smartvisu:
    class_name: SmartVisu
    class_path: plugins.visu_smartvisu
    # '"neue" Linux Versionen (z.B. Debian > 8.x, Ubuntu > 14.x)'
    smartvisu_dir: /var/www/html/smartVISU

    # nur "alte" Linux-Variationen
    # smartvisu_dir: /var/www/smartVISU
    # generate_pages: True
    # handle_widgets: True
    # overwrite_templates: Yes
    # visu_style: blk

    # Command Line Interface
    # wichtig für Funktionsprüfungen solange keine Visu zur Verfügung steht
    cli:
    class_name: CLI
    class_path: plugins.cli
    ip: 0.0.0.0
    update: 'True'

    # SQL-Treiber, unterstützt auch die SmartVISU 2.8/2.9
    # dazu muß im websocket plugin zwingend die Protokollversion 4 eingetragen sein
    sql:
    class_name: SQL
    class_path: plugins.sqlite_visu2_8

    # Onewire Plugin
    # [ow]
    # class_name: OneWire
    # class_path: plugins.onewire

    # memlog:
    # class_name: MemLog
    # class_path: plugins.memlog
    # name: alert

    ow:
    class_name: OneWire
    class_path: plugins.onewire
    host: 127.0.0.1
    port: 4304
    Hier der Screenshot vom Backend:
    Unbenannt.jpg
    Habe jetzt alles nochmal neu aufgesetzt, Verkabelung überprüft und ähnliches .... Für eine Hilfestellung wäre ich sehr dankbar, warum das nicht zuverlässig funktioniert, obwohl sich die Sensorwerte ändern ....

    DANKESCHÖN!
    David
    Angehängte Dateien
    Zuletzt geändert von ic14m001; 26.08.2018, 13:15.

    #2
    Hat sich der Temperaturwert denn wirklich geändert zwischenzeitlich?

    Kommentar


      #3
      Problem hat sich anscheinend von alleine gelöst - nach Wochen des Testens stimmen die Werte zwischen 1Wire & Backend/SmartVisu immer überein ....

      Kommentar


        #4
        Hallo zusammen,

        mich hat das Problem nun auch ereilt. Möglicherweise beim Update auf ng und Umstellung auf die yaml etwas daneben gegangen?

        Also: der OW Server läuft, im Browser kann ich die QW Sensoren alle einzeln abfragen.
        Die Busanbindung ist auch OK, mit knxtool groupswrite ip:localhost 1/801 1 kann ich das Licht einschalten.
        Es werden aber keinerlei OW Werte auf den Bus gesendet. Mir fehlt da die Stelle, an der ich suchen soll :-(
        Kann mir jemand auf die Sprünge helfen, wie der Datenfluss vom OW zum KNX logisch läuft und wo ich suchen kann?

        Gruß und Dank
        Jürgen

        Die Plugin.yaml sagt:
        Code:
        %YAML 1.1
        ---
        
        # plugin.conf
        knx:
            class_name: KNX
            class_path: plugins.knx
            host: 127.0.0.1
            port: 6720
            # send_time = 600 # update date/time every 600 seconds, default none
            # time_ga = 1/1/1 # default none
            # date_ga = 1/1/2 # default none
            busmonitor: on
            readonly: FALSE
            enable_stats: FALSE
        
        ow:
            class_name: OneWire
            class_path: plugins.onewire
            host: 127.0.0.1
            port: 4304
            cycle: 300
            io_wait: 5.0
            button_wait: 0.5
        Items.yaml:

        Code:
        %YAML 1.1
        ---
        
        Verteiler_Keller:
        
            Temperatursensor_BB:
        
                Temperatur:
                    type: num
                    sqlite: 'true'
                    knx_dpt: 9
                    ow_addr: '28.FF04B7641402'
                    ow_sensor: T12
                    knx_send: 6/0/110
                    knx_reply: 6/0/110
        Zuletzt geändert von bmx; 30.12.2018, 02:51. Grund: Bitte [ CODE ] ... [ / CODE] nutzen...

        Kommentar


          #5
          Hast Du das Backend konfiguriert? Da könntest Du mal schauen ob überhaupt vom onewire was ankommt und alternatic kannst Du die Temperatur dort auch direkt ändern und schauen, ob sich dann am knx was tut. Benutzt Du SHNG nur um ow an knx weiterzuleiten?

          Kommentar


            #6
            Guten Morgen..
            Nein, kein Backend konfiguriert.
            Bisher nur für die Auswertung von OneWire, bin gerade bei Alexa, später noch Milight und Enocean.
            Unter Smathome.py hat es wunderbar geklappt, nach dem Update hatte ich auch noch Werte, keine Idee, bei welcher Aktion die verstorben sind.

            Generelle Frage: Was wird denn mit der Aktualisierungszeit cycle:300 getriggert? Ein Betriebssystem Prozess? Kann man den per Hand starten?

            Gruß Jürgen

            Kommentar


              #7
              Was wird denn mit der Aktualisierungszeit cycle:300 getriggert? Ein Betriebssystem Prozess? Kann man den per Hand starten?
              Ein Python Thread und nein kann man nicht. Ausser Du rufst via Logik die Update Routine des Plugins manuell auf und triggerst die Logik aus dem Backend.

              Kommentar


                #8
                Jürgen ich schlage vor, Du konfigurierst mal das Backend um festzustellen ob es am OneWire Plugin liegt oder am knx-Plugin.
                Über das Backend kannst Du Dir auch deine Log-Dateien ansehen und auf Fehler prüfen.

                Kommentar


                  #9
                  Hallo BMX,

                  gerne, klemmt aber auch:

                  192.168.1.231:8383 springt direkt nach /plugins und zeigt mir eine leere Startseite an. BackendServer kann ich nicht aufrufen..
                  Gruß
                  Jürgen

                  Code:
                  %YAML 1.1
                  ---
                  # etc/module.yaml
                  http:
                      module_name: http
                      starturl: backend
                  Code:
                  %YAML 1.1
                  ---
                  
                  # plugin.conf
                  knx:
                      class_name: KNX
                      class_path: plugins.knx
                      host: 127.0.0.1
                      port: 6720
                      # send_time = 600 # update date/time every 600 seconds, default none
                      # time_ga = 1/1/1 # default none
                      # date_ga = 1/1/2 # default none
                      busmonitor: on
                      readonly: FALSE
                      enable_stats: FALSE
                  
                  BackendServer:
                      class_name: BackendServer
                      class_path: plugins.backend
                      port: 8383
                      updates_allowed: 'True'
                      threads: 8
                      user: ''
                      password: ''
                      language: de
                  Zuletzt geändert von bmx; 01.01.2019, 20:35. Grund: yaml mit [ CODE ] formatiert

                  Kommentar


                    #10
                    /backend ?
                    (
                    siehe
                    starturl: backend
                    )

                    Und formatiertes YAML wäre auch hilfreich.

                    Kommentar


                      #11
                      Pack bitte die yaml Auszüge in Code Tags.
                      so werden die Formatierungen geschluckt und wir können die dann nicht prüfen. Bei yaml sind die Einrückungen ja relevant.

                      Du solltest auch ruhig Mal einen Blick ins Log wagen.
                      Zuletzt geändert von bmx; 30.12.2018, 15:50.

                      Kommentar


                        #12
                        Ähem... Oops, Error 404:

                        The path '/plugins/backend' was not found.

                        Das Verzeichnis ist aber vorhanden...
                        >Und formatiertes YAML wäre auch hilfreich.
                        Sagt mir was?

                        Gruß und Dank für den JIT Support
                        Jürgen

                        Kommentar


                          #13
                          Siehe mein Post bzgl yaml

                          Kommentar


                            #14
                            nicht /plugins/backend sondern /backend

                            >Und formatiertes YAML wäre auch hilfreich.
                            Sagt mir was?
                            dass du hier im forum bitte mit dem CODE Makro yaml code einfügst? so bleiben die einrückungen etc erhalten

                            Kommentar


                              #15
                              Zitat von henfri Beitrag anzeigen
                              Pack bitte die yaml Auszüge in Code Tags.
                              so werden die Formatierungen geschluckt und wir können die dann nicht prüfen. Bei yaml sind die Einrückungen ja relevant.
                              Hallo..
                              Was nach 25 Jahren EDV noch so alles lernen kann.. Das mit den Einrückungen habe ich noch nicht gelesen, in
                              https://www.smarthomeng.de/user/inst...arthomeng.html
                              steht da nichts zu. Geben die drei Striche am Anfang den Abstand zur relevanten Spalte an? Sollte vielleicht mal jemand in der Doku ergänzen.

                              OK, im /usr/locl/smarthome/var/log/smarthome.log einen Fehler gefunden, hinter einem Wert waren noch Leerzeichen in der Zeile.
                              Mühsam nährt sich das Eichhörnchen...

                              Nun kommen auch wieder Werte von meinen OW Sensoren auf den Bus, manchmal ist es einfach!

                              Vielen Dank für Euren tollen Support und einen guten Rutsch wünscht
                              Jürgen

                              Kommentar

                              Lädt...
                              X