Ankündigung

Einklappen
Keine Ankündigung bisher.

Aufbau der Items; wie packt man es am besten an

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

    #16
    So das ist die plugin.conf:

    Code:
    cat >plugin.conf <<EOL
    # 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
    #[ow]
    #    class_name = OneWire
    #    class_path = plugins.onewire
    [visu]
        class_name = WebSocket
        class_path = plugins.visu
        smartvisu_dir = /var/www/html/smartVISU
    [cli]
        class_name = CLI
        class_path = plugins.cli
        ip = 0.0.0.0
        update = True
    [sql]
        class_name = SQL
        class_path = plugins.sqlite
    EOL
    wenn ich nach dem Start das Log prüfe kommt folgende Fehlermeldung:

    Code:
      File "/usr/local/smarthome/bin/smarthome.py", line 308, in start
        item_conf = lib.config.parse(self._items_dir + item_file, item_conf)
      File "/usr/local/smarthome/lib/config.py", line 46, in parse
        for raw in f.readlines():
      File "/usr/lib/python3.4/codecs.py", line 313, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 37: invalid start byte
    2016-07-20 13:51:56 INFO     Main         Items: 168
    2016-07-20 13:51:56 INFO     Main         Start Logics
    2016-07-20 13:51:56 INFO     Main         Start Plugins
    ist der UnicodeDecodeError das Problem? Wenn ja wie behebt man es?
    Edit: Das "Value = 1" habe ich auch hinzugefügt, bringt leider keine Änderung...

    VG René
    Zuletzt geändert von rene1511; 26.07.2016, 20:33.

    Kommentar


      #17
      Vermutlich hast Du irgendeinen Umlaut in einer item-conf Datei und hast als Kodierung der Dateie nicht darauf geachtet, das Du utf-8 ohne BOM auswählst. Ich würde auf ein °-Zeichen tippen. Wenn Du Windows hast, nimm mal den Notepad++ daher und setze die Kodierung aller *.conf Dateien auf utf-8 ohne BOM.

      Kommentar


        #18
        hm ich hätte schwören können, dass ich alles mit UTF-8 gespeichert hatte...
        Die neue conf sieht jetzt so aus, geht aber dennoch nicht:

        Code:
        [Essen_Kueche]
            name = Küche
            sv_page = room
            sv_img = scene_stairs.png
            [[Fenster]]
                name = Fenster
                [[[Fenster_S1]]]
                    name = Fenster Essecke
                    type = bool
                    knx_dpt = 1
                    knx_listen = 00/00/001
            [[Licht]]
                name = Licht
                [[[Deckenlicht]]]
                    name = Esstisch
                    type = bool
                    value = 1
                    visu_acl = rw
                    sv_widget = {{ basic.switch('item', 'item') }}
                    knx_dpt = 1
                    knx_listen = 1/1/2
                    knx_send = 1/1/2
        Tail gibt aber auch keine Fehler mehr aus:

        Code:
        2016-07-20 15:28:21 INFO     Main         Stop Plugins
        2016-07-20 15:28:22 INFO     Main         SmartHome.py stopped
        Init SmartHome.py 1.1.1
        2016-07-20 15:28:39 INFO     Main         Start SmartHome.py 1.1.1
        2016-07-20 15:28:39 INFO     Main         Init Scheduler
        2016-07-20 15:28:39 INFO     Main         Init Plugins
        2016-07-20 15:28:40 INFO     Main         Init Items
        2016-07-20 15:28:41 INFO     Main         Items: 27
        2016-07-20 15:28:41 INFO     Main         Start Logics
        2016-07-20 15:28:41 INFO     Main         Start Plugins

        Kommentar


          #19
          Hi Rene1511,

          Du hattest geschrieben, dass Du per groupswrite Befehl schalten kannst. Wie sieht das groupswrite Kommando aus mit dem Du schaltest?
          Viele Grüße
          Martin

          There is no cloud. It's only someone else's computer.

          Kommentar


            #20
            Hast Du SmartHomeNG mal im Debugmodus gestartet? Also erst beenden und cd ins SmartHomeNG bin Verzeichnis wechseln ...:
            Code:
            cd /usr/local/smarthome/bin
            python3 ./smarthome.py -d

            Kommentar


              #21
              Soso der Reihe nach:
              per Groupswrite geht es so:

              knxtool groupswrite ip:localhost 1/1/2 1

              Debüt gibt mir folgendes:

              Code:
              2016-07-21 01:13:39,484 INFO     Main         Start SmartHome.py 1.1.1 -- smarthome.py:__init__:245
              2016-07-21 01:13:39,485 DEBUG    Main         Python 3.4.2 -- smarthome.py:__init__:246
              2016-07-21 01:13:39,486 INFO     Main         Init Scheduler -- scheduler.py:__init__:86
              2016-07-21 01:13:39,487 DEBUG    Scheduler    creating 5 workers -- scheduler.py:run:93
              2016-07-21 01:13:39,487 INFO     Main         Init Plugins -- smarthome.py:start:291
              2016-07-21 01:13:39,492 DEBUG    Main         Plugin: knx -- plugin.py:__init__:43
              2016-07-21 01:13:39,500 DEBUG    Main         Plugin: visu -- plugin.py:__init__:43
              2016-07-21 01:13:39,516 DEBUG    Main         Plugin: cli -- plugin.py:__init__:43
              2016-07-21 01:13:39,519 DEBUG    Main         Plugin: sql -- plugin.py:__init__:43
              2016-07-21 01:13:39,529 DEBUG    Main         SQLite 3.8.7.1 -- __init__.py:__init__:62
              2016-07-21 01:13:39,667 DEBUG    Main         SQLite: database integrity ok -- __init__.py:__init__:78
              2016-07-21 01:13:39,672 DEBUG    Main         SQLite pack next time: 2016-07-21 03:02:00+02:00 -- scheduler.py:_next_time:303
              2016-07-21 01:13:39,673 INFO     Main         Init Items -- smarthome.py:start:297
              2016-07-21 01:13:39,709 DEBUG    Main         Item env.core.memory = 15290368.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,726 DEBUG    Main         Item env.core.threads = 7.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,743 DEBUG    Main         Item env.core.garbage = 0.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,745 DEBUG    Main         Item env.core: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,757 DEBUG    Main         Item env.location: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,775 DEBUG    Main         Item env.system.load = 0.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,778 DEBUG    Main         Item env.system: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,779 DEBUG    Main         Item env: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,783 DEBUG    Main         KNX: Fenster Essecke listen on 00/00/001 -- __init__.py:parse_item:243
              2016-07-21 01:13:39,783 DEBUG    Main         Item Test.Fenster: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,787 DEBUG    Main         KNX: Esstisch listen on 1/1/2 -- __init__.py:parse_item:243
              2016-07-21 01:13:39,788 DEBUG    Main         Item Test.Licht: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,788 DEBUG    Main         Item Test: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,789 INFO     Main         Items: 27 -- smarthome.py:start:329
              2016-07-21 01:13:39,789 INFO     Main         Start Logics -- logic.py:__init__:33
              2016-07-21 01:13:39,789 DEBUG    Main         Reading Logics from /usr/local/smarthome/lib/env/logic_conf -- logic.py:_read_logics:64
              2016-07-21 01:13:39,791 DEBUG    Main         Reading Logics from /usr/local/smarthome/etc/logic.conf -- logic.py:_read_logics:64
              2016-07-21 01:13:39,792 DEBUG    Main         Logic: env_init -- logic.py:__init__:44
              2016-07-21 01:13:39,802 DEBUG    Main         Logic: env_stat -- logic.py:__init__:44
              2016-07-21 01:13:39,805 DEBUG    Main         env_stat next time: 2016-07-21 01:13:50+02:00 -- scheduler.py:_next_time:303
              2016-07-21 01:13:39,806 DEBUG    Main         Logic: env_daily -- logic.py:__init__:44
              2016-07-21 01:13:39,811 DEBUG    Main         env_daily next time: 2016-07-21 06:00:00+02:00 -- scheduler.py:_next_time:303
              2016-07-21 01:13:39,812 DEBUG    Main         Logic: env_loc -- logic.py:__init__:44
              2016-07-21 01:13:39,815 INFO     Main         Start Plugins -- plugin.py:start:65
              2016-07-21 01:13:39,815 DEBUG    Main         Starting knx Plugin -- plugin.py:start:67
              2016-07-21 01:13:39,816 DEBUG    Main         Starting visu Plugin -- plugin.py:start:67
              2016-07-21 01:13:39,817 DEBUG    Main         Starting cli Plugin -- plugin.py:start:67
              2016-07-21 01:13:39,822 DEBUG    Main         Starting sql Plugin -- plugin.py:start:67
              2016-07-21 01:13:40,008 DEBUG    Connections  KNX: connected to 127.0.0.1:6720 -- connection.py:connect:392
              2016-07-21 01:13:40,009 DEBUG    Connections  KNX: enable group monitor -- __init__.py:handle_connect:125
              2016-07-21 01:13:40,011 DEBUG    Connections  WebSocket: binding to 0.0.0.0:2424 (TCP) -- connection.py:connect:160
              2016-07-21 01:13:40,012 DEBUG    Connections  CLI: binding to 0.0.0.0:2323 (TCP) -- connection.py:connect:160
              2016-07-21 01:13:45,024 DEBUG    env_init     Item env.core.version = 1.1.1 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,056 DEBUG    env_loc      Item env.location.sunrise = 2016-07-21 05:09:39.230223+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,060 DEBUG    env_init     Item env.core.start = 2016-07-21 01:13:45.058389+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,060 DEBUG    sh.gc        Garbage collector: collected 0 objects. -- smarthome.py:_garbage_collection:522
              2016-07-21 01:13:45,075 DEBUG    env_loc      Item env.location.sunset = 2016-07-21 21:15:04.112130+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,078 DEBUG    env_init     Item env.system.name = raspberrypi via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,133 DEBUG    env_loc      Item env.location.moonrise = 2016-07-21 21:50:28.406725+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,136 DEBUG    env_init     Item env.system.start = 2016-07-20 15:28:21.134682+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,185 DEBUG    sh.gc        Object references: 10996 -- smarthome.py:_maintenance:514
              2016-07-21 01:13:45,189 DEBUG    env_loc      Item env.location.moonset = 2016-07-21 06:55:50.719505+02:00 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,200 DEBUG    env_loc      Item env.location.moonphase = 4 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,220 DEBUG    env_loc      Item env.location.night = True via Logic None None -- item.py:__update:373
              2016-07-21 01:13:45,534 DEBUG    Scheduler    env_loc next time: 2016-07-21 01:43:45+02:00 -- scheduler.py:_next_time:303
              2016-07-21 01:13:45,538 DEBUG    Scheduler    sh.gc next time: 2016-07-21 02:04:00+02:00 -- scheduler.py:_next_time:303
              2016-07-21 01:13:50,085 DEBUG    env_stat     Item env.core.memory = 17203200 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:50,090 DEBUG    env_stat     Item env.location.moonlight = 99 via Logic None None -- item.py:__update:373
              2016-07-21 01:13:50,556 DEBUG    Scheduler    env_stat next time: 2016-07-21 01:18:50+02:00 -- scheduler.py:_next_time:303
              Sieht für mich jetzt erstmal i.O. aus, bis auf den Teil:

              Code:
              2016-07-21 01:13:39,709 DEBUG    Main         Item env.core.memory = 15290368.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,726 DEBUG    Main         Item env.core.threads = 7.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,743 DEBUG    Main         Item env.core.garbage = 0.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,745 DEBUG    Main         Item env.core: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,757 DEBUG    Main         Item env.location: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,775 DEBUG    Main         Item env.system.load = 0.0 via SQLite None None -- item.py:set:476
              2016-07-21 01:13:39,778 DEBUG    Main         Item env.system: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,779 DEBUG    Main         Item env: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,783 DEBUG    Main         KNX: Fenster Essecke listen on 00/00/001 -- __init__.py:parse_item:243
              2016-07-21 01:13:39,783 DEBUG    Main         Item Test.Fenster: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,787 DEBUG    Main         KNX: Esstisch listen on 1/1/2 -- __init__.py:parse_item:243
              2016-07-21 01:13:39,788 DEBUG    Main         Item Test.Licht: no type specified. -- item.py:__init__:242
              2016-07-21 01:13:39,788 DEBUG    Main         Item Test: no type specified. -- item.py:__init__:242
              können die "no type specified" das Problem sein?

              Kommentar


                #22
                Nein, die env... brauchen keine Typangaben, das sind nur Strukturierungsitems. Die Kinder von env. ... haben Bedeutung und die haben dann auch einen Typ angegeben.
                Mache mal eine Shell auf (ssh) und gebe dort ein
                Code:
                telnet localhost 2323
                . Damit kommst Du in ein Command Line Interface. Dort gibst Du mal ls ein und bekommst die items angezeigt. Dann kannst Du mal mit up Essen_Kueche.Licht.Deckenlicht = 1 versuchen zu schalten. Wenn das geht, dann kommt SmartHomeNG mit Deinem knx schon mal klar.
                Wenn das geht, dann kannst Du mal den Debug output anschauen der entsteht, wenn Du bei der SmartVISU eine Taste drückst. Poste das mal...

                Kommentar


                  #23
                  also über telnet kann ich auch nicht schalten:

                  [CODE
                  Trying ::1...
                  Trying 127.0.0.1...
                  Connected to localhost.
                  Escape character is '^]'.
                  SmartHome.py v1.1.1
                  Enter 'help' for a list of available commands.
                  > ls
                  Items:
                  ======
                  env
                  Test
                  > up Essen_Kueche.Licht.Deckenlicht = 1
                  Connection closed by foreign host.
                  [/CODE]

                  im Debugmode seh ich garnichts, wenn ich irgendwas in der ViSu drücke, aber das ist ja erst mal Nebensache, solange SmarthomeNG nicht mit dem KNXD redet...
                  Ich seh auch keine Bewegung in der Shell, wenn ich per echtem taster das Bit für das Licht kippe... Hätte erwartet, das man das in der Shell im Debug sieht, wenn der groupmonitor da was mitkriegt...

                  Kommentar


                    #24
                    Kann es sein, das Du Telnet über Windows gestartet hast? Mach bitte mal eine Shell auf dem Linux auf und probiere das noch einmal. (Telnet für Windows kannst Du hier vergessen!)

                    Kommentar


                      #25
                      hm nee ich habe nen mac genutzt. Nutze eigentlich windows nur für die ETS. Nen linux hab ich hier nicht, müsste ich direkt auf den Pi3 gehen, kann ich aber dann erst morgen probieren, habe keine Tastatur hier

                      Kommentar


                        #26
                        Ein long-shot: Kommentiere mal in der plugin.conf die Einträge für Host und Port aus. Bei mir sind beide auskommentiert. Allerdings nutze ich noch EIBD und nicht KNXD.

                        Ein zweiter Test den Du machen könntest: Füge in der Sektion des KNX Plugin mal den Eintrag busmonitor = True hinzu. Dann solltest Du (zumindest wenn Du SmartHomeNG im Debug Mode startest) im Log alle KNX Telegramme sehen, die der KNXD auf dem Bus sieht. Wenn Du dann keine Telegramme im Log sehen solltest, zeigt das, dass KNXD und das KNX Plugin nicht mit einander reden.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          #27
                          Hi

                          das auskommentieren der Parameter führt wohl dazu, das das Cli Plugin nicht mehr geht. Siehe Fehlermeldung.
                          Allerdings sehe ich jetzt, was auf dem Bus passiert.

                          Code:
                          2016-07-21 15:10:58,342 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:10:58,344 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:08,376 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:08,378 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:18,409 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:18,413 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:28,444 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:28,446 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:34,634 INFO     Main         knx: 1.1.2 set 1/1/2 to True -- __init__.py:parse_telegram:198
                          2016-07-21 15:11:38,478 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:38,481 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:44,140 INFO     Main         knx: 1.1.2 set 1/1/2 to False -- __init__.py:parse_telegram:198
                          2016-07-21 15:11:44,142 DEBUG    Main         Item Test.Licht.Deckenlicht = False via KNX 1.1.2 1/1/2 -- item.py:__update:373
                          2016-07-21 15:11:48,011 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                          2016-07-21 15:11:48,014 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156

                          Kommentar


                            #28
                            Das auskommentieren der beiden con mir genannten Parameter kann keinen Einfluss auf das CLI Plugin haben. Hast Du evtl. mehr auskommentiert oder versehentlich etwas an der [CLI] Sektion der plugin.conf geändert?

                            Ich sehe gerade, Du hast beim cli einen Eintrag ip = 0.0.0.0. Kommentiere den bitte mal aus.

                            Hast Du in der plugin.conf evtl. Noch Änderungen gegenüber Deiner geposteten Version vorgenommen? Ich bin verwundert, weil in Deinem Log auch ein Eintrag steht, dass sich das Visu Plugin auf die IP Adresse 0.0.0.0 verbinden will.
                            Viele Grüße
                            Martin

                            There is no cloud. It's only someone else's computer.

                            Kommentar


                              #29
                              nein ich hab wirklich nur die von dir angesprochenen Zeilen aaskommentiert. Später habe ich auch noch das prowl-Plugin mit reingenommen, aber da war das Log ja schon gepostet, dass kann es also nicht sein.
                              Ich probier es gleich aus, melde mich dann.

                              Kommentar


                                #30
                                also is egal was ich mache, das Ergebnis bleibt das gleiche...
                                habe auch die plugin.conf komplett gelöscht und neu gemacht, ändert nix....

                                Code:
                                2016-07-22 00:54:18,126 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                                2016-07-22 00:54:18,129 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                                2016-07-22 00:54:22,169 DEBUG    env_stat     Item env.core.memory = 17244160 via Logic None None -- item.py:__update:373
                                2016-07-22 00:54:22,174 DEBUG    env_stat     Item env.system.load = 0.14 via Logic None None -- item.py:__update:373
                                2016-07-22 00:54:22,178 DEBUG    env_stat     Item env.location.moonlight = 95 via Logic None None -- item.py:__update:373
                                2016-07-22 00:54:22,651 DEBUG    Scheduler    env_stat next time: 2016-07-22 00:59:22+02:00 -- scheduler.py:_next_time:303
                                2016-07-22 00:54:28,172 ERROR    Connections  WebSocket: problem binding 0.0.0.0:2424 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                                2016-07-22 00:54:28,175 ERROR    Connections  CLI: problem binding 0.0.0.0:2323 (TCP): [Errno 98] Die Adresse wird bereits verwendet -- connection.py:connect:156
                                ich bin echt ein bisschen ratlos...

                                Kommentar

                                Lädt...
                                X