Ankündigung

Einklappen
Keine Ankündigung bisher.

Smarthome-ng im DockerContainer

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

    #16
    Zitat von henfri Beitrag anzeigen
    Klingt doch gut. Du kannst die Datei gerne mal posten, dann gucke ich drüber.
    Anbei meine geänderte docker-compose.yml

    PHP-Code:
    smarthome-ng:
    #  build: smarthome-ng/.
      
    imagesmarthome-ng:latest
      volumes
    :
      - /
    home/hebe/docker-configs/smarthome-ng-config/etc:/usr/local/smarthome/etc
      
    - /home/hebe/docker-configs/smarthome-ng-config/items:/usr/local/smarthome/items
      
    - /home/hebe/docker-configs/smarthome-ng-config/logics:/usr/local/smarthome/logics
      
    - /home/hebe/docker-configs/smarthome-ng-config/scenes:/usr/local/smarthome/scenes
      
    - /home/hebe/docker-configs/smarthome-ng-config/var:/usr/local/smarthome/var
      - /
    home/hebe/docker-configs/smarthome-ng-config/plugins/luxtronic2:/usr/local/smarthome/plugins/luxtronic2
      
    - /home/hebe/docker-configs/smarthome-ng-config/plugins/pioneer:/usr/local/smarthome/plugins/pioneer
      
    - /home/hebe/docker-configs/smarthome-ng-config/plugins/pluggit:/usr/local/smarthome/plugins/pluggit
      
    - /home/hebe/docker-configs/smarthome-ng-config/plugins/sonos:/usr/local/smarthome/plugins/sonos
      privileged
    true
      ports
    :
      - 
    "2323:2323"
      
    "2424:2424"
      
    "2788:2788"
      
    "6720:6720"
      
    "8383:8383"
      
    links:
       - 
    "smartvisu"
    #  - "grafana"
    #  - "influxdb"
      
    command"/usr/local/bin/run.sh"
      
    restartalways

    #knxd:
    #  image: henfri/knxd
    #  net: "host"
    #  command: knxd --error=0 -D -T -R -S -i --GroupCache --no-tunnel-client-queuing -b ipt:192.168.177.24
    #  restart: always

    smartvisu:
      
    imagericharvey/nginx-php-fpm
      volumes
    :
      - /
    home/hebe/docker-configs/smartvisu-config/:/var/www/html
      ports
    :
      - 
    8080:80
      restart
    always

    # influxdb:
    #   image: influxdb:latest
    #   volumes:
    #   - /mnt2/RockOn_Configs/config/influxdb/:/var/lib/influxdb
    #   ports:
    #   - 8083:8083
    #   - 8086:8086
    #   - 8090:8090
    #   restart: always
    #
    # grafana:
    #   image: grafana/grafana:latest
    #   volumes:
    #   - /mnt2/RockOn_Configs/config/grafana/:/var/lib/grafana
    #   ports:
    #   - 3000:3000
    #   restart: always
    #   links:
    #   - influxdb 

    Zur Info dazu, ich kann den knxd momentan nicht nutzen, bin noch auf eibd der auf meinem Raspberry läuft,
    weil ich dort die ROT-Extension (http://busware.de/tiki-index.php?page=ROT) verwende.
    Grafana und Influxdb ist erstmal auskommentiert, weil ich es bisher nicht nutze und ich zusätzliche Fehlerquellen erstmal ausschließen wollte.
    Schaue ich mir aber später sicher mal an wenn alles läuft.

    Eigentlich habe ich nur die Volumes auf meine Pfade angepasst, was ich nicht brauche auskommentiert und zum Testen mal noch den eibd Port 6720 hinzugefügt.

    Des Weiteren habe ich noch den Port 8383 für das neue Backend Plugin von smarthomeNG ergänzt und halt den Namen zum Image geändert, weil ich das neu gebaut habe auf Basis des release Tag "v.1.2" von smarthomeNG. Weswegen ich das zwingend brauche erkläre ich weiter unten.

    Zitat von henfri Beitrag anzeigen
    Jain.
    Du kannst das Image, welches ich damals hochgeladen haben nutzen, wie es ist.
    Dann nutzt du statt 1.2.450 eben 1.2.442. Aber funktionieren wird es.
    Gerne integriere ich aber einen PR der auf 1.2.450 aktualisiert. Ich selbst verwende eine noch aktuellere dev-Version.
    Jain
    Mit der 1.2.442 bekomme ich folgende Exception, da ich ja von smarthome.py 1.0 auf smarthomeNG 1.2 migriere und meine Datenbank hochgezogen werden muss:

    PHP-Code:
    smarthome-ng_1  2017-01-08  14:44:44 DEBUG    Main         SQLitedatabase integrity ok
    smarthome
    -ng_1  2017-01-08  14:44:44 ERROR    Main         Plugin sql exceptionNo module named 'plugins.sqlite.upgrade'
    smarthome-ng_1  Traceback (most recent call last):
    smarthome-ng_1  |   File "/usr/local/smarthome/lib/plugin.py"line 63in __init__
    smarthome
    -ng_1  |     plugin_thread PluginWrapper(smarthomepluginclassnameclasspathargsinstance)
    smarthome-ng_1  |   File "/usr/local/smarthome/lib/plugin.py"line 108in __init__
    smarthome
    -ng_1  |     exec("self.plugin.__init__(smarthome{0})".format(args))
    smarthome-ng_1  |   File "<string>"line 1in <module>
    smarthome-ng_1  |   File "/usr/local/smarthome/plugins/sqlite_visu2_8/__init__.py"line 93in __init__
    smarthome
    -ng_1  |     import plugins.sqlite.upgrade
    smarthome
    -ng_1  ImportErrorNo module named 'plugins.sqlite.upgrade' 

    Das wurde noch im Release Branch gefixt, deswegen brauche ich die 1.2.450.
    Wenn ich alles laufen habe werde ich auch mal den aktuellen Dev-Branch in einem eigenen container testen,
    was unter anderem auch ein Grund für den Umstieg auf docker ist.

    Zitat von henfri Beitrag anzeigen
    Woher (aus welchem log) kam die Fehlermeldung
    Code:
    2017-01-08 21:04:24 ERROR connection Connections _websocket: problem binding 10.20.0.245:2424 (TCP): [Errno 99] Die angeforderte Adresse kann nicht zugewiesen werden -- connection.py:connect:156
    Gruß,
    Hendrik
    Die Meldung kommt aus dem log:

    /var/log/smarthome.log

    smarthomeNG läuft ansonsten, Verbindung zum Backend-Plugin, sprich das web interface funktioniert auch, die Verbindung zu meinem eibd auf dem Raspberry funktioniert auch. Das einzige woran es momentan noch hakt ist der Port 2424 für den Websockt zur smartVISU, weswegen ich mit der smartVISU momentan natürlich nichts schalten kann. Die smartVISU selbst lädt ansonsten auch.

    Danke schon mal für deine Unterstützung.

    Gruß,
    Henning

    Kommentar


      #17
      Hallo,

      verstehe.
      Zu deinem Problem (Errno 99):
      Kannst du bitte noch deine Plugin.conf posten?

      Du könntest mal (in der docker-compose und plugin.conf) einen ganz anderen Port wählen, aber ich denke, es liegt eher an der IP.
      Welche IP-Adresse hat der Container (ggf. ist es jetzt eine andere --> bitte konsistenten Log Auszug posten)?

      Gruß,
      Hendrik

      Kommentar


        #18
        henfri

        Hat sich inzwischen erledigt.

        Ich habe das Problem vorhin gefixt, es lag daran, dass ich in der plugin.conf von smarthomeNG im Teil
        für die Visu:

        PHP-Code:

        [visu]
            
        class_name WebSocket
            class_path 
        plugins.visu_websocket
        #   ip= 0.0.0.0
        #   port=2424
        #   tls = no
            
        wsproto 4
        #  acl = rw 

        Die "IP" auf die IP von meinem Docker Host gesetzt hatte, nach dem ich die IP auskommentiert habe, funktioniert alles.

        Jetzt muss ich nur noch den smartVISU Teil zu Ende migrieren, da habe ich noch ein paar Sachen zu fixen,
        aber schön, dass der Docker Teil schon mal funktioniert.

        Gruß,
        Henning

        Kommentar


          #19
          Das war mein Verdacht. Wunderbar!

          Kommentar


            #20
            Hallo Hendrik,

            habe dein Docker-compose.yml soweit auf meiner Synology laufen. Was ich momentan nicht auf der Sync laufen habe ist der Knxd, den werde ich wenn alles läuft erst umziehen.

            Die smartvisu bekommt keinen Connect, bzw Werte angezeigt. Smarthomeng läuft ohne Probleme Connect auf das CLI / Backend ok. Die Werte vom KNX werden auch alle vom Bus gelesen.

            Hier meine plugin.conf
            PHP-Code:
            # plugin.conf
            [influxdb]
            class_name InfluxDB
            class_path 
            plugins.influx
            influx_host 
            influxdb
            #   influx_port = 8083
            #   influx_user = root
            #   influx_pass = root
            #   influx_db   = smarthome
            influx_keyword sqlite

            [BackendServer]
            class_name BackendServer
            class_path 
            plugins.backend
            #ip = xxx.xxx.xxx.xxx
            #port = 8383
            #updates_allowed = True
            #threads = 8
            user admin
            password 
            xxxxx
            #language = en
            #developer_mode = on

            [knx]
               
            class_name KNX
               class_path 
            plugins.knx
               host 
            192.168.178.10
               port 
            6720
               send_time 
            600 # update date/time every 300 seconds, default none
               
            time_ga 1/0/150 # default none
               
            date_ga 1/0/151 # default none

            [visu]
                
            class_name WebSocket
                class_path 
            plugins.visu_websocket
                wsproto
            =4

            [cli]
                
            class_name CLI
                class_path 
            plugins.cli
                ip 
            0.0.0.0
                update 
            True

            [sql]
            class_name SQL
            class_path 
            plugins.sqlite_visu2_8 
            Ich sehe keinen Fehler in der Config.

            Hier meine Config.php in smartvisu

            PHP-Code:
            <?php
            /**
              * -----------------------------------------------------------------------------
              * @package     smartVISU
              * @author      Martin Gleiß
              * @copyright   2012 - 2015
              * @license     GPL [http://www.gnu.de]
              * -----------------------------------------------------------------------------
              */

                
            define('config_pages''homeml');
                
            define('config_design''night');
                
            define('config_cache'false);
                
            define('config_animation'true);
                
            define('config_title''YOUR NAME [smartVISU]');
                
            define('config_lang''en');
                
            define('config_driver''smarthome.py');
                
            define('config_driver_address''172.17.0.5');
                
            define('config_driver_port''2424');
                
            define('config_driver_realtime'true);
                
            define('config_driver_autoreconnect'true);
            Hast du vielleicht eine Idee?



            Danke für die Hilfe und richtig gute Arbeit!

            Gruß
            Michael
            Zuletzt geändert von macke384; 13.01.2017, 15:59.

            Kommentar


              #21
              Zitat von macke384 Beitrag anzeigen
              Hier meine Config.php in smartvisu

              PHP-Code:
              define('config_driver_address''172.17.0.5'); 
              Hi Michael,

              du musst in smartVISU config die IP vom docker host angeben, in deinem Fall dürfte das deine Synology sein.
              Hat die wirklich die IP 172.17.0.5? Kann ich mir eigentlich nicht vorstellen, weil du weiter oben die IP vom knxd mit "192.168.178.10" angibst,
              da passt etwas nicht zusammen.

              Gruß,
              Henning

              Kommentar


                #22
                Hallo Henning,

                hast recht! Die Ports werden ja auf den Host gemappt. Jetzt gehe ich mal an die Influxdb und grafana.

                Danke
                Michael

                Kommentar


                  #23
                  Hallo,

                  ich habe gerade die aktuelle dev-version aufs docker-hub gepusht:
                  henfri/smarthome-ng-dev:latest (6e4a580)
                  und auch die offizielle v1.2:
                  henfri/smarthome-ng:1.2

                  Gruß,
                  Hendrik

                  Kommentar


                    #24
                    Hallo Hendrik,

                    super, dann werde ich morgen direkt mal aktualisieren.

                    Gruß,
                    Henning

                    Kommentar


                      #25
                      Hallo,

                      jetzt gibt es noch den henfri/knxd:0.12.4. Aber ungetestet.

                      Gruß,
                      Hendrik

                      Kommentar


                        #26
                        Hmmm, wenn mir da wer für die Synology Starthilfe geben könnte, wär ich durchaus froh... Ich habe mal knxd und smarthome-dev vom Repo gezogen. Die 2 Docker-Container laufen nun auch. Aber dann weiß ich schon nicht mehr weiter Ich vermute dass das Package an sich den Composer irgendwie ersetze oder liege ich da falsch? Da offenbar alles im UI läuft, bringen mich die CLI -Sachen nicht wirklich weiter. Ich kann dort zwar einen Terminal mit bash öffnen, aber ob das dann die richtige Vorgehensweise ist..? Nutzt jemand von euch ne Syno?

                        Kommentar


                          #27
                          henfri ich habe leider ziemliche Probleme mit dem SmarthomeNG Image für Docker.

                          Wenn ich es starte, kommt folgende Fehlermeldung:
                          Code:
                          root@henfri-smarthome-ng-dev1:/usr/local/smarthome# bin/smarthome.py --debug
                          Traceback (most recent call last):
                            File "/usr/local/lib/python3.5/logging/config.py", line 382, in resolve
                              found = getattr(found, frag)
                          AttributeError: module 'lib' has no attribute 'logutils'
                          
                          During handling of the above exception, another exception occurred:
                          
                          Traceback (most recent call last):
                            File "/usr/local/lib/python3.5/logging/config.py", line 384, in resolve
                              self.importer(used)
                          ImportError: No module named 'lib.logutils'
                          
                          The above exception was the direct cause of the following exception:
                          
                          Traceback (most recent call last):
                            File "/usr/local/lib/python3.5/logging/config.py", line 546, in configure
                              filters[name] = self.configure_filter(filters[name])
                            File "/usr/local/lib/python3.5/logging/config.py", line 675, in configure_filter
                              result = self.configure_custom(config)
                            File "/usr/local/lib/python3.5/logging/config.py", line 463, in configure_custom
                              c = self.resolve(c)
                            File "/usr/local/lib/python3.5/logging/config.py", line 391, in resolve
                              raise v
                            File "/usr/local/lib/python3.5/logging/config.py", line 384, in resolve
                              self.importer(used)
                          ValueError: Cannot resolve 'lib.logutils.Filter': No module named 'lib.logutils'
                          
                          During handling of the above exception, another exception occurred:
                          
                          Traceback (most recent call last):
                            File "bin/smarthome.py", line 600, in <module>
                              sh = SmartHome()
                            File "bin/smarthome.py", line 154, in __init__
                              self.initLogging()
                            File "bin/smarthome.py", line 220, in initLogging
                              logging.config.dictConfig(doc)
                            File "/usr/local/lib/python3.5/logging/config.py", line 795, in dictConfig
                              dictConfigClass(config).configure()
                            File "/usr/local/lib/python3.5/logging/config.py", line 549, in configure
                              'filter %r: %s' % (name, e))
                          ValueError: Unable to configure filter 'loggerfilter': Cannot resolve 'lib.logutils.Filter': No module named 'lib.logutils'
                          Ich hab inzwischen Python 3.4 gegen 3.5 getauscht, nochmals alle Updates von smarthome geholt, logutils installiert, etc. Hilft alles nix. Da ich den Fehler auf sonst keiner laufenden Instanz (ebenfalls neueste dev-Version) bekomme, muss es irgendwas mit Docker zu tun haben..

                          Danke für die Hilfe!

                          Kommentar


                            #28

                            No module named 'lib.logutils Hast du den Container selbst gebaut? Denn ich habe das Problem nicht. Welche Plugins nutzt du?

                            Kommentar


                              #29
                              Hallo,

                              ich habe gerade drei neue Images hochgeladen:
                              henfri/smarthome-ng-dev:latest
                              henfri/smarthome-ng-dev:74dac94
                              henfri/smarthome-ng:v1.2_update

                              Die beinhalten alle weitere python-module (alle aus der requirements_all.txt).
                              Probier es mal damit.

                              Gruß,
                              Hendrik

                              Kommentar


                                #30
                                Ne, ich hatte schon dein Image benutzt. Nachdem der Fehler gleich kam, hab ich eben neues Python installiert, aber keine Änderung.
                                Mein NAS ist jetzt gerade über den jordan, kann daher die anderen Images derzeit nicht testen. Auf'm Windows möcht ich noch VirtualBox nutzen.

                                Plugins:
                                CLI
                                Backend
                                Network
                                wettercom
                                knx
                                visu
                                meter
                                ical
                                operationlog
                                mail
                                autoblind
                                database
                                squeezebox
                                xbmc
                                uzsu
                                pushbullet

                                Noch ne andere Frage: warum ist das knxd Image so riesig?
                                Zuletzt geändert von Onkelandy; 31.01.2017, 12:18.

                                Kommentar

                                Lädt...
                                X