Ankündigung

Einklappen
Keine Ankündigung bisher.

Neu angelegte items haben keine Funktion

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

    Neu angelegte items haben keine Funktion

    Ich installiere gerade bei einem Bekannten nebenbei stückweise KNX. Zuerst war das Wohnzimmer dran: RGB+WW-Strip und zwei Spotreihen. Dafür haben wir eine Seite in der SmartVISU erstellt, ein paar Items angelegt, und alles lief.
    Nun wurde auf das Arbeitszimmer und die Balkonbeleuchtung erweitert, und irgendwie scheint die SmartVISU sich mit den neuen Items schwer zu tun. Es wird weder ein Wert gesendet, noch der Zustand gelesen. Über den Glastaster können die Funktionen aber genutzt werden.
    Die "alten" Funktionen (Wohnzimmer) stellen zu keiner Zeit ein Problem dar... Die Gruppenadressen per ETS bzw. EIBD anzusprechen, ist auch kein Problem. Der Raspi fungiert hier als Router.

    Code:
    # items.conf
    
    [wohnzimmer]
        [[beleuchtung]]
            [[[decke_wand]]]
                [[[[schalten]]]]
                    type = bool
                    visu = yes
                    knx_dpt = 1
                    knx_send = 15/4/4
            knx_cache = 15/4/4
                    knx_init = 15/4/4
                    knx_listen = 15/4/4
                [[[[dimmwert]]]]
                    type = num
                    visu = yes
                    knx_dpt = 5
                    knx_send = 15/0/4
                    knx_cache = 15/0/4
                    knx_init = 15/0/4
                    knx_listen = 15/0/4
    
    # [...]
    
    [balkon]
        [[beleuchtung]]
            [[[schalten]]]
                type = bool
                visu = yes
                knx_dpt = 1
                knx_send = 0/0/1
                knx_cache = 0/1/1
                knx_init = 0/1/1
                knx_listen = 0/1/1
    
    # [...]
    
    [arbeitszimmer]
        [[beleuchtung]]
            [[[decke]]]
                [[[[schalten]]]]
                    type = bool
                    visu = yes
                    knx_dpt = 1
                    knx_send = 15/4/6
                    knx_cache = 15/4/6
                    knx_init = 15/4/6
                    knx_listen = 15/4/6
                [[[[dimmwert]]]]
                    type = num
                    visu = yes
                    knx_dpt = 5
                    knx_send = 15/0/6
                    knx_cache = 15/0/6
                    knx_init = 15/0/6
                    knx_listen = 15/0/6
    Code:
    # plugin.conf
    
    [visu]
        class_name = WebSocket
        class_path = plugins.visu
        smartvisu_dir = /var/www/smartVISU
        # for Ubuntu 14.04 upwards the base for html has changed
        # smartvisu_dir = /var/www/html/smartVISU
        ip=192.168.178.31
        port=2424
        acl = rw
    Code:
    # wohnzimmer.html
    
    {% extends "rooms.html" %}
    
    {% block content %}
    
        <div class="block">
        <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    
            <div data-role="collapsible" data-collapsed="false" >
                <h3>Beleuchtung</h3>
    {{ device.dimmer('dimmer_decke_wand', 'Spots Wand', 'wohnzimmer.beleuchtung.decke_wand.schalten', 'wohnzimmer.beleuchtung.decke_wand.dimmwert',0 ,255,1) }}
    {{ device.dimmer('dimmer_decke_mitte', 'Spots Mitte', 'wohnzimmer.beleuchtung.decke_mitte.schalten', 'wohnzimmer.beleuchtung.decke_mitte.dimmwert',0 ,255,1) }}
                {{ device.dimmer('dimmer_rbg_weiss', 'Indirekte Beleuchtung Weiss', 'wohnzimmer.beleuchtung.rgb.weiss.schalten', 'wohnzimmer.beleuchtung.rgb.weiss.dimmwert',0 ,255,1) }}
                <p>{% import "widget_rgb.html" as rgb %}{{ rgb.rgb('rgb1', 'Indirekte Beleuchtung Farbe', 'wohnzimmer.beleuchtung.rgb.schalten', 'wohnzimmer.beleuchtung.rgb.rot.dimmwert', 'wohnzimmer.beleuchtung.rgb.gruen.dimmwert', 'wohnzimmer.beleuchtung.rgb.blau.dimmwert', 0, 255, 20, 40) }}</p>
            </div>
        <div data-role="collapsible">
                <h3>Farbsteuerung</h3>
                {{ device.dimmer('dimmer_rgb_rot', 'Rot', 'wohnzimmer.beleuchtung.rgb.rot.schalten', 'wohnzimmer.beleuchtung.rgb.rot.dimmwert',0 ,255,1) }}
                {{ device.dimmer('dimmer_rgb_gruen', 'Gruen', 'wohnzimmer.beleuchtung.rgb.gruen.schalten', 'wohnzimmer.beleuchtung.rgb.gruen.dimmwert',0 ,255,1) }}
                {{ device.dimmer('dimmer_rgb_blau', 'Blau', 'wohnzimmer.beleuchtung.rgb.blau.schalten', 'wohnzimmer.beleuchtung.rgb.blau.dimmwert',0 ,255,1) }}
            </div>
    
        </div>
        </div>
    
    {% endblock %}
    Code:
    # balkon.html
    
    {% extends "rooms.html" %}
    
    {% block content %}
    
        <div class="block">
        <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    
            <div data-role="collapsible" data-collapsed="false" >
                <h3>Beleuchtung</h3>
                   {{ basic.flip('flip1', 'balkon.beleuchtung.schalten', 'An', 'Aus') }}
            </div>
    
        </div>
        </div>
    
    {% endblock %}
    Code:
    # arbeitszimmer.html
    
    {% extends "rooms.html" %}
    
    {% block content %}
    
        <div class="block">
        <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    
            <div data-role="collapsible" data-collapsed="false" >
                <h3>Beleuchtung</h3>
    {{ device.dimmer('dimmer_decke', 'Spots', 'wohnzimmer.beleuchtung.decke_az.schalten', 'wohnzimmer.beleuchtung.decke_az.dimmwert',0 ,255,1) }}
            </div>
    
        </div>
        </div>
    
    {% endblock %}
    GA-Struktur:
    0/0/1 und 0/1/1 ist Licht schalten/status per Schaltaktor
    15/0/x ist Dimmwert senden per DMX (und gleichzeitig Status)
    15/4/x ist Fade on/off per DMX (und gleichzeitig Status)
    Zuletzt geändert von Bonscha; 23.01.2016, 14:45.
    Sebastian Bornemann, Voltus GmbH

    #2
    Hallo Bonscha,

    das Attribut
    PHP-Code:
    visu yes 
    ist veraltet.

    Korrekt müsste es folgendermaßen heißen:
    PHP-Code:
    visu_acl=rw 

    Gruß

    Kommentar


      #3
      Hallo aschwith,

      danke für den Hinweis. Ich habe das zentral in der plugin.conf gesetzt, daher lasse ich das überall sonst entfallen.
      Das kann aber nicht die Ursache für mein Problem sein, oder?
      Sebastian Bornemann, Voltus GmbH

      Kommentar


        #4
        Was sagt das Logfile bei Änderungen via Visu?

        Kommentar


          #5
          Schon mal den cache (bzw. Temp-Ordner) der smartvisu gelöscht?

          Kommentar


            #6
            Hallo ihr beiden, das log sehe ich mir nachher mal an... Pagecache in der Visu ist aus, der Raspi wurde öfter mal rebootet. Kann man woanders noch was machen?
            Sebastian Bornemann, Voltus GmbH

            Kommentar


              #7
              So, ich habe gerade mal wieder einen Blick auf den Raspi werfen können...
              Im Ordner "/usr/local/smarthome/var/cache" ist nix drin.

              Hier das letzte Bisschen aus dem aktuellen Log. Das 1wire-Gespamme ist Standard, da nur prophylaktisch erstmal installiert.
              Code:
              2016-01-22 12:45:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 12:55:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:05:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:15:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:25:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:35:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:45:08 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 13:55:09 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 14:05:10 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 14:15:11 ERROR    Connections  1-Wire: could not connect to 127.0.0.1:4304: [Errno 111] Connection refused
              2016-01-22 14:22:33 WARNING  Main         Client 192.168.178.27:41894 requested invalid item: arbeitszimmer.temperatur.luft
              2016-01-22 14:22:33 WARNING  Main         Client 192.168.178.27:41894 requested invalid item: wohnzimmer.temperatur.luft
              2016-01-22 14:22:46 WARNING  Main         Client 192.168.178.27:41894 requested invalid item: balkon.beleuchtung.schalten
              2016-01-22 14:22:48 WARNING  Main         Client 192.168.178.27:41894 want to update invalid item: balkon.beleuchtung.schalten
              2016-01-22 14:22:49 WARNING  Main         Client 192.168.178.27:41894 want to update invalid item: balkon.beleuchtung.schalten
              2016-01-22 14:22:50 WARNING  Main         Client 192.168.178.27:41894 want to update invalid item: balkon.beleuchtung.schalten
              2016-01-22 14:22:51 WARNING  Main         Client 192.168.178.27:41894 want to update invalid item: balkon.beleuchtung.schalten
              Ich vermute mal, dass ein Update der Temperaturen (die übrigens auch nicht funktionieren) durch den Aufruf der VISU-Menüseite (auf der die zu sehen sind) herrühren. Danach wurde das Balkonlicht versucht zu schalten: EIN - AUS - EIN - AUS
              Angesprochen wird ein AKS-02UP.01, welcher per Glastaster problemlos bedient werden kann.
              Sebastian Bornemann, Voltus GmbH

              Kommentar


                #8
                Hi,

                um erstmal zu klären, ob es an der Visu oder an sh.py liegt, solltest Du das CLI-Plugin in sh.py installieren. Damit kannst Du dann per Kommandozeile items ändern und direkt sehen, ob diese Änderungen Auswirkungen haben. Außerdem kannst Du dort sehen, wie die Items wirklich innerhalb von sh.py heißen, denn das Log sagt ja, dass es balkon.beleuchtung.schalten nicht gibt, in Deinem conf file steht es aber. Und ich würde sagen, einer "lügt"

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar


                  #9
                  Naja, also der Grund für diese Meldung "Client 192.168.178.27:41894 want to update invalid item: balkon.beleuchtung.schalten" ist IMHO klar > Nimm "visu_acl = rw" anstatt visu = yes.
                  Bzgl. der knx_ schau Dir nochmal die Doku an (ist eher Optimierung als Fehlerursächlich), denn da bezweifle ich das Du alles brauchst bzw. einiges ist redundant, bspw. listen in cache. I.d.R. genügt bei mir das Setting knx_cache und knx_send und dann für die Visu noch ein cache = yes. Dort würde ich anfangen und wenn dann ein Ding läuft zum nächsten Springen.

                  Kommentar


                    #10
                    Hallo Sandman60, aber visu_acl = rw wurde doch zentral in der plugin.conf vergeben! Die anderen Items funktionieren ja auch... Was die Redundanz angeht, so bereinige ich das später, wenn alles soweit läuft
                    Sebastian Bornemann, Voltus GmbH

                    Kommentar


                      #11
                      OK, kannte die Option acl = yes im Visu-plugin gar nicht, damit stimme ich Dir zu sowohl visu =yes als auch visu-acl = rw dürften nicht ursächlich sein.

                      Dann würde ich auch nach dem Vorschlag von Waldemar vorgehen und mit der CLI (sh.cli) mal mit LS die Items anzeigen lassen.
                      Weiter würde ich mir mal das Logfile nach einem Neustart anzeigen lassen. Je nach Release, k.A. ob es das schon in den Master geschafft hat, gibt es dort bspw. auch einen Counter für Anzahl der Items und ggf. werden auch Fehlermeldungen geloggt welche einen Fehler bzgl. der [] Hierarchie aufzeigen.

                      Mein Verdacht würde nun als nächstes dahingehen, dass irgendwo ein Hierarchieproblem sh.py dazu bringt das einlesen der Itemsfiles abzubrechen und daher sind die Items tatsächlich unbekannt. Sieht man eben schön mit dem Item-Counter-Eintrag im Log.

                      Bei mir steht da bspw. die Zeile "2016-01-24 00:01:02 INFO Main Items: 4516". Wenn die Zahl bspw. dann sehr klein ist siehst Du meist sehr schnell das es zu einem Syntax Fehler in den Items kam, ggf. gibt es auch eine separate Zeile.

                      Kommentar


                        #12
                        Poste ggf. auch mal das Log, das sh.py beim Starten erzeugt...

                        Kommentar


                          #13
                          Moin,

                          Vorschlag zur Vorgehensweise:
                          0. Sicherheitskopie von allem erstellen!!!!! (Wenn es bei Dir die SD-Karte killt, dann suchst Du Dir jetzt einen Wolf und hast bald nur noch Datenmüll, also Sicherheit geht vor!)
                          1. Onewire deaktivieren damit Du den überflüssigen Müll aus dem Log rausschmeißt.
                          2. Sicherstellen, das Dein Config-File auch "UTF-8 ohne BOM" nutzt. Wenn Du nur ein äöü, etc. mit falscher Codierung nutzt, dann stößt das dem Itemparser auf. Meldungen diesbezüglich findest Du aber auch im Log.
                          3. Das komplette Log prüfen, das Du im Debug Modus bekommst, Error und Warnings von Vorne nach Hinten. Eliminiere die Ursachen der Warnings und Errors soweit wie möglich.
                          4. Die Idee mit der Anzahl der Main Items Prüfung ist gut. Am Besten einmal mit und einmal ohne Deine neuen Items starten lassen. Dann läßt sich leicht feststellen, ob es ein Definitionsproblem gibt.
                          5. Überprüfung der Items via Command Line Interface (CLI)

                          Wenn es dann noch Probleme gibt, wieder melden.

                          Gruß,
                          Bernd

                          Kommentar


                            #14
                            Moin, ich habe mittlerweile wohl das Problem gefunden. Zwar kann ich nur raten, dass das die Ursache war, aber es ist das einzige, das geändert wurde, bevor alles wieder lief...

                            Hier die ganze items.conf:

                            Code:
                            # /usr/local/smarthome/items/items.conf
                            
                            [wohnzimmer]
                                [[beleuchtung]]
                                    [[[decke_wand]]]
                                        [[[[schalten]]]]
                                            type = bool
                                            knx_dpt = 1
                                            knx_send = 15/4/4
                                    knx_cache = 15/4/4
                                            knx_init = 15/4/4
                                            knx_listen = 15/4/4
                                        [[[[dimmwert]]]]
                                            type = num
                                            knx_dpt = 5
                                            knx_send = 15/0/4
                                            knx_cache = 15/0/4
                                            knx_init = 15/0/4
                                            knx_listen = 15/0/4
                                    [[[decke_mitte]]]
                                        [[[[schalten]]]]
                                            type = bool
                                            knx_dpt = 1
                                            knx_send = 15/4/5
                                    knx_cache = 15/4/5
                                            knx_init = 15/4/5
                                            knx_listen = 15/4/5
                                    [[[[dimmwert]]]]
                                            type = num
                                            knx_dpt = 5
                                            knx_send = 15/0/5
                                    knx_cache = 15/0/5
                                            knx_init = 15/0/5
                                            knx_listen = 15/0/5
                                    [[[rgb]]]
                                        [[[[rot]]]]
                                            [[[[[schalten]]]]]
                                                type = bool
                                                knx_dpt = 1
                                                knx_send = 15/4/0
                                        knx_cache = 15/4/0
                                                knx_init = 15/4/0
                                                knx_listen = 15/4/0
                                            [[[[[dimmwert]]]]]
                                                type = num
                                                knx_dpt = 5
                                                knx_send = 15/0/0
                                        knx_cache = 15/0/0
                                                knx_init = 15/0/0
                                                knx_listen = 15/0/0
                                        [[[[gruen]]]]
                                            [[[[[schalten]]]]]
                                                type = bool
                                                knx_dpt = 1
                                                knx_send = 15/4/1
                                        knx_cache = 15/4/1
                                                knx_init = 15/4/1
                                                knx_listen = 15/4/1
                                            [[[[[dimmwert]]]]]
                                                type = num
                                                knx_dpt = 5
                                                knx_send = 15/0/1
                                        knx_cache = 15/0/1
                                                knx_init = 15/0/1
                                                knx_listen = 15/0/1
                                        [[[[blau]]]]
                                            [[[[[schalten]]]]]
                                                type = bool
                                                knx_dpt = 1
                                                knx_send = 15/4/2
                                        knx_cache = 15/4/2
                                                knx_init = 15/4/2
                                                knx_listen = 15/4/2
                                            [[[[[dimmwert]]]]]
                                                type = num
                                                knx_dpt = 5
                                                knx_send = 15/0/2
                                        knx_cache = 15/0/2
                                                knx_init = 15/0/2
                                                knx_listen = 15/0/2
                                        [[[[weiss]]]]
                                            [[[[[schalten]]]]]
                                                type = bool
                                                knx_dpt = 1
                                                knx_send = 15/4/3
                                        knx_cache = 15/4/3
                                                knx_init = 15/4/3
                                                knx_listen = 15/4/3
                                            [[[[[dimmwert]]]]]
                                                type = num
                                                knx_dpt = 5
                                                knx_send = 15/0/3
                                        knx_cache = 15/0/3
                                                knx_init = 15/0/3
                                                knx_listen = 15/0/3
                                [[temperatur]]
                                    [[[luft]]]
                                        type = float
                                        knx_dpt = 9
                                        knx_send = 3/0/0
                                        knx_cache = 3/0/0
                                        knx_init = 3/0/0
                                        knx_listen = 3/0/0
                            
                            [arbeitszimmer]
                                [[beleuchtung]]
                                    [[[decke]]]
                                        [[[[schalten]]]]
                                            type = bool
                                            knx_dpt = 1
                                            knx_send = 15/4/6
                                    knx_cache = 15/4/6
                                            knx_init = 15/4/6
                                            knx_listen = 15/4/6
                                        [[[[dimmwert]]]]
                                            type = num
                                            knx_dpt = 5
                                            knx_send = 15/0/6
                                            knx_cache = 15/0/6
                                            knx_init = 15/0/6
                                            knx_listen = 15/0/6
                                [[temperatur]]
                                    [[[luft]]]
                                        type = float
                                        knx_dpt = 9
                                        knx_send = 3/0/1
                                        knx_cache = 3/0/1
                                        knx_init = 3/0/1
                                        knx_listen = 3/0/1
                            
                            [balkon]
                                [[beleuchtung]]
                                    [[[schalten]]]
                                        type = bool
                                        knx_dpt = 1
                                        knx_send = 0/0/1
                                        knx_cache = 0/1/1
                                        knx_init = 0/1/1
                                        knx_listen = 0/1/1
                            Das letzte item, das ordentlich funktionierte, war der WW-Anteil des Strips. Ich habe dann im Log folgende Fehlermeldung entdeckt:
                            Code:
                            Init SmartHome.py 1.0-45-g02cf972
                            2016-01-23 02:41:13 ERROR    Main         Item wohnzimmer.temperatur.luft: type 'float' unknown. Please use one of: list, scene, num, bool, str, dict, foo.
                            2016-01-23 02:41:13 ERROR    Main         Item wohnzimmer.temperatur.luft: problem creating:
                            2016-01-23 02:41:13 ERROR    Main         Item arbeitszimmer.temperatur.luft: type 'float' unknown. Please use one of: list, scene, num, bool, str, dict, foo.
                            2016-01-23 02:41:13 ERROR    Main         Item arbeitszimmer.temperatur.luft: problem creating:
                            Also schnell von type = float auf type = num umgestellt. Plötzlich funktionierte es. Anscheinend werden keine items mehr eingelesen, die einem falsch definierten nachfolgen?
                            Zuletzt geändert von Bonscha; 24.01.2016, 10:48.
                            Sebastian Bornemann, Voltus GmbH

                            Kommentar

                            Lädt...
                            X