Ankündigung

Einklappen
Keine Ankündigung bisher.

Status in Smartvisu wird nicht automatisch aktualisiert

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

    Status in Smartvisu wird nicht automatisch aktualisiert

    Hallo zusammen,

    nach langer Zeit habe ich beschlossen, mal mein System auf eine neuere Smarthome NG und Smartvisu Version zu aktuallisieren. Bei der Gelegenheit habe ich auch beschlossen alles von meinem alten Raspi in Docker Containern auf meiner Synology NAS umzuziehen.

    Derzeit habe ich also zwei Systeme gleichzeitig in Betrieb: Die alte Konfiguration auf dem Raspi und die neue auf der Synology.
    Bisher sieht alles gar nicht so schlecht aus, leider wird der der Zustand eines Items in der Smartvisu erst aktualisiert wenn ich die Seite neu lade (z.B. durch Drücken von F5). Das heisst wenn ich z.B. über einen KNX Taster oder direkt in SmartHomeNG den Wert (z.B. ein Licht einschalte) ändere, wird dieser neue Wert in der neuen Smartvisu Instanz (auf der Synology) nicht aktualisiert. In der alten Smartvisu Instanz (auf dem Raspi) wird der Wert allerdings aktualisiert.
    Allerdings kann ich von der Smartvisu einen aktualisierten Wert an Smarthome senden. Das heisst ich kann über die Smartvisu das Licht an und aus schalten. Lediglich der Status wird auch hier nicht aktualisiert.


    Wenn ich die neue Smartvisu Instanz (Synology) mit dem alten SmarthomeNG auf dem Raspi verbinde funktioniert das aktualisieren aber problemlos. Und wenn ich die alte Smartvisu Instanz (Raspi) mit dem Smarthome NG auf der Synology verbinde zeigt diese auch das Aktualisierungsproblem.

    Daraus hab ich (Sherlock Holms maßig) geschlussfolgert, dass das Problem an SmarthomeNG liegen muss. Den knxd schließe ich als Problem eigentlich auch aus, da ja ein bloßes F5 drücken im Browser die korrekten Werte anzeigt.

    Hier nochmal die Daten im Detail:
    Raspi Synology
    SmarthomeNG Version 1.8.2.master (0f462a1e) Version 1.9.5 (manuel)
    Basierend auf dem docker image redtiger84/smarthome-ng läuft in einem eigenen docker container
    knxd Version unbekannt :-( Version 0.12.6
    Basierend auf docker image henfri/knxd:0.12.6
    Smartvisu Version 3.1.0 Version 3.5.0 (docker image richarvey/nginx-php-fpm:1.10.3) läuft in einem eigenen Docker Container
    Folgende Kombination habe ich getestet:
    • ✅ knxd (Raspi), SmarthomeNG (Rapspi), Smartvisu (Raspi): Visu wird automatisch aktualisiert
    • ✅ knxd (Raspi), SmarthomeNG (Rapspi), Smartvisu (Synology): Visu wird automatisch aktualisiert
    • ❌ knxd (Synology), SmarthomeNG (Synology), Smartvisu (Raspi): Visu wird erst durch neu Laden der Seite aktualisiert
    • ❌ knxd (Synology), SmarthomeNG (Synology), Smartvisu (Synology): Visu wird erst durch neu Laden der Seite aktualisiert

    Ergänzung: Oben rechts blinkt das "VISU" Logo, wenn Smartvisu von der Synology mit dem SmarthomeNG der Synolgy verbunden ist. Das bedeutet wohl in Version 3.5, dass Smartvisu versucht aktuelle Werte vom Backend zu erhalten.


    Ich vermute, dass ich irgend eine Checkbox oder irgend ein Plugin in Smarthome übersehen habe das die Aktualisierung der Visu an triggert. Ich hab aber bisher nichts entsprechendes gefunden.

    Hat jemand eine Idee woran es liegen könnte. Im Forum habe ich leider nichts zu diesem Problem gefunden.
    Zuletzt geändert von kex; 04.01.2025, 14:00.
    Gruß Kex

    #2
    Wenn du uns z.B. die smarthome.yaml, module.yaml und plugins.yaml zur Verfügung stellst, brauchen wir weniger Glaskugel-Credits

    Kommentar


      #3
      SmartVISU abonniert beim Laden einer Seite alle dort in Widgets verwendeten items. ShNG schickt diese als Antwort einmal komplett und schickt von da an nur noch die Updates für diese items. Wenn bei der ersten Antwort alle Zustände korrekt aktualisiert wurden und das VISU-Logo weiter blinkt, dann hast Du in mindestens einem Widget ein Item angegeben, das shNG nicht kennt.

      Am besten schaust Du in der Entwicklerkonsole, was tatsächlich auf dem Websocket übertragen wird. Wenn Du dort „io.openItems“ eingibst, wird Dir ein Array aller fehlenden items angezeigt.

      Gruß
      Wolfram

      Kommentar


        #4
        Zitat von Morg Beitrag anzeigen
        Wenn du uns z.B. die smarthome.yaml, module.yaml und plugins.yaml zur Verfügung stellst, brauchen wir weniger Glaskugel-Credits
        Naja, die Verschwendung von Glaskugelcredits wollen wir ja mal vermeiden.

        Hier die gewünschten yaml Files:

        smarthome.yaml
        Code:
        %YAML 1.1
        ---
        lat: 48.7378             # latitude
        lon: 10.1056             # longitude
        elev: 599                # elevation
        tz: 'Europe/Berlin'      # timezone, the example will be fine for most parts of central Europe
        default_language: de     # default_language is used, where multiple languages are supported (de, if not specified)
        holidays_country: de    # country for holidays (de, if not specified)
        holidays_province: 'BW'   # province for holidays (BE, if not specified)
        module.yaml
        Code:
        %YAML 1.1
        ---
        # etc/module.yaml
        # support for web server
        http:
            module_name: http
            starturl: admin
        # support for graphical admin interface
        admin:
            module_name: admin
        websocket:
            module_name: websocket


        plugin.yaml
        Code:
        %YAML 1.1
        ---
        database:
            plugin_name: database
            driver: sqlite3
            connect:
            -   database:./var/db/smarthomeng.db
            -   check_same_thread:0
        knx:
            plugin_name: knx
            plugin_enabled: true
            port: 6720
        cli:
            plugin_name: cli
            plugin_enabled: false
            ip: 0.0.0.0
            update: true
        uzsu:
            plugin_name: uzsu
        smartvisu:
            plugin_name: smartvisu
            generate_pages: false
            default_acl: rw
        stateengine:
            plugin_name: stateengine
            suspend_time_default: 10800
            log_level: 2
            log_directory: var/log/stateengine/
            startup_delay_default: 120
            laststate_name_manually_locked: gesperrt
            laststate_name_suspended: ausgesetzt
            log_maxage: 1
        fb:
            plugin_name: avm
            username: andreas
            password: ****************
            host: 192.168.188.1
            ssl: true
            call_monitor: false
        darksky:
            plugin_name: darksky
            plugin_enabled: false
            key: ***************
        ​



        Und weil es sicher nicht schadet auch noch die docker-compose.yaml (Irgendwie vermute ich inzwischen hier irgendwo das Problem).
        Code:
        networks:
          shng-net:
            internal: true
        services:
          shng:
            image: redtiger84/smarthome-ng # SH 1.9.5
            restart: always
            volumes:
              - /volume1/docker/smarthome/volumes/etc:/usr/local/smarthome/etc
              - /volume1/docker/smarthome/volumes/items:/usr/local/smarthome/items
              - /volume1/docker/smarthome/volumes/logics:/usr/local/smarthome/logics
              - /volume1/docker/smarthome/volumes/scenes:/usr/local/smarthome/scenes
              - /volume1/docker/smarthome/volumes/tools:/usr/local/smarthome/tools
              - /volume1/docker/smarthome/volumes/var:/usr/local/smarthome/var
              - /volume1/docker/smarthome/volumes/html:/var/www/html
            ports:
              - "2424:2424"
              - "2425:2425"
              - "8383:8383"
            privileged: true
            network_mode: "host"
            command: "--interactive"
          knxd:
            image: henfri/knxd:v0.12.6
            network_mode: "host"
            command: knxd -e 1.0.200 -E 1.0.201:8 -DTRS -c -i --send-delay=120 -B single -b ipt:192.168.188.87 # <-- original
            restart: always
          smartvisu:
            image: richarvey/nginx-php-fpm:1.10.3
            volumes:
             - /volume1/docker/smarthome/volumes/html:/var/www/html
            ports:
             - "8084:80"
             - "8444:443"
            restart: always​

        Zitat von wvhn Beitrag anzeigen
        Wenn bei der ersten Antwort alle Zustände korrekt aktualisiert wurden und das VISU-Logo weiter blinkt, dann hast Du in mindestens einem Widget ein Item angegeben, das shNG nicht kennt.

        Am besten schaust Du in der Entwicklerkonsole, was tatsächlich auf dem Websocket übertragen wird. Wenn Du dort „io.openItems“ eingibst, wird Dir ein Array aller fehlenden items angezeigt.

        Danke für den Tipp! Ich schau mir das mal an und versuche da durchzusteigen.​
        Gruß Kex

        Kommentar


          #5
          Zitat von wvhn Beitrag anzeigen
          SmartVISU abonniert beim Laden einer Seite alle dort in Widgets verwendeten items. ShNG schickt diese als Antwort einmal komplett und schickt von da an nur noch die Updates für diese items. Wenn bei der ersten Antwort alle Zustände korrekt aktualisiert wurden und das VISU-Logo weiter blinkt, dann hast Du in mindestens einem Widget ein Item angegeben, das shNG nicht kennt.

          Am besten schaust Du in der Entwicklerkonsole, was tatsächlich auf dem Websocket übertragen wird. Wenn Du dort „io.openItems“ eingibst, wird Dir ein Array aller fehlenden items angezeigt.
          In der Entwicklerkonsole wird kein io.openItems gefunden.
          Heisst das, es gibt keine Widgets das shNG nicht kennt, oder bin ich zu dumm die Entwicklerkonsole zu bedienen (will ich nicht ausschließen da ich mich hier absolut nicht auskenne).
          Gruß Kex

          Kommentar


            #6
            Ich hab neue Erkenntnisse:
            Ich hab mal das Docker image für den Container shNG von redtiger84/smarthome-ng auf sagl/shng:latest geändert. Jetzt werden die items in der Visu bei einer Änderung aktualisiert. Die Konfiguration (module, plugins etc.) ist unverändert.

            Entweder ich lass das jetzt so, oder ich versuch mal rauszufinden was der unterschied im image ist. Natürlich freue ich mich weiterhin über Tipps, denn das image sagl/shng:latest​ basiert noch auf shNG 1.9.1 und natürlich würde ich gerne ein shNG haben das so neu wie möglich ist.
            Gruß Kex

            Kommentar

            Lädt...
            X