Ankündigung

Einklappen
Keine Ankündigung bisher.

Kommunikationsproblem zwischen knxd, SmartHomeNG und SmartVISU

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

    #16
    Komisch. Musste die ganze Kiste rebooten .. jetzt funktioniert das Schalten über die Browser GUI. Besten Dank!

    Auf diesen BackendServer komme ich zwar nicht - was auch immer das ist ?! Ich weiß weder was das tut noch für was ich das brauche?

    Warum musste ich
    Code:
    [SmartVisu]
        class_name = SmartVisu
        class_path = plugins.visu_smartvisu
    #    smartvisu_dir = False
    #    handle_widgets = True
        smartvisu_dir = /var/www/html/smartVISU
    ergänzen.
    Ich hab jetzt momentan zwei Konfigs für die visu - [visu] und [SmartVisu] - kann ich eines entfernen oder brauche ich beides?

    Was macht außerdem dieser Websocket [WebSocket] ?

    Natürlich existieren bei mir die neu angelgten Konfigurationsdateien nicht und er bringt mir einen "file not found error" für backend.conf, visu_websocket.conf etc. ...

    Kommentar


      #17
      Ups: Sorry, den Abschnitt [visu] kannst Du mal auskommentieren mit # oder löschen. Du brauchst nur den "neuen" für den Websocket. Den Websocket nutzt die Smartvisu um sich mit SmartHomeNG zu unterhalten.
      Wenn Du automatische Webseitengeneration haben willst, dann kannst Du noch die [SmartVisu] nutzen. Das alte Visu Plugin wurde aufgeteilt in den Bereich Kommunikation (Websocket) und Webseitengeneration (SmartVisu).

      BTW: ich habe nochmal den Titel des Thread angepaßt...

      Gruß,
      Bernd

      Kommentar


        #18
        Also wenn ich [visu] auskommentiere und neustarte bekomme ich die Fehlermeldung:
        Code:
        Could not connect to smarthome.py server!
        Websocket error undefined.
        Ansonsten bekomme ich folgende Fehlermeldungen bei der funktionierenden plugin.conf:
        Code:
        # 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
        #   ip='0.0.0.0'
        #   port=2424
        #   acl = ro
        [cli]
            class_name = CLI
            class_path = plugins.cli
            ip = 0.0.0.0
            update = True
            
        [sql]
            class_name = SQL
            class_path = plugins.sqlite
            
        [SmartVisu]
            class_name = SmartVisu
            class_path = plugins.visu_smartvisu
        #   smartvisu_dir = False
        #   handle_widgets = True
            smartvisu_dir = /var/www/html/smartVISU
            
        [WebSocket]
            class_name = WebSocket
            class_path = plugins.visu_websocket
        #    ip='0.0.0.0'
        #    port=2424
        #    tls = no
        #    acl = ro
            
        [BackendServer]
            class_name = BackendServer
            class_path = plugins.backend
           # ip = 192.168.2.245
            port = 8383
            updates_allowed = True
            threads = 8
            user = admin
            password = xxxx
            language = de
        Code:
            21.07.2016 15:04:52
            Plugin BackendServer exception: No module named 'plugins.backend'
            21.07.2016 15:04:52
            Plugin WebSocket exception: No module named 'plugins.visu_websocket'
            21.07.2016 15:04:52
            Plugin SmartVisu exception: No module named 'plugins.visu_smartvisu'
        Wie bekomme ich diese Fehlermeldungen weg?

        Interessieren würde mich grundsätzlich was ich hier überhaupt tue?!
        Ich weiß nicht für was ich welches plugin benötige (und wo ich diese überhaupt finde - ich nehme Verzeichnis /plugins an)

        Gibt es denn keine Anleitung dazu?

        Nebenbei: Dieser BackendServer funktioniert auch nicht.

        Vielen Dank !!


        Kommentar


          #19
          Jetzt muß ich mal nachfragen: Hast Du Dir die den Masterzweig vom SmartHomeNG geladen oder das zukünftige release-1.2?

          Wenn Du den Master hast, dann funktioniert das mit Backend und visu-Websocket und visu-smartvisu noch nicht. Beim release-1.2 funktioniert das. Im Falle des Master kannst Du beim Plugin.conf [visu] einfach die # wieder rausnehmen von vorhin. Dann geht das da auch wieder.

          Grundsätzlich: Nein, es gibt derzeit keine allumfassende Anleitung. Es gibt im SmartHomeNG eine Kernfunktionalität die die Items, Logiken und den Scheduler umfaßt. Zusatzfunktionen, beispielsweise der Zugriff auf den KNX oder aber auf Enocean, einen Heizkessel oder ähnliches wird durch ein Plugin bereitgestellt.
          Jedes Plugin kennt eigene Schlüsselwörter, die man bei einem Item als Attribut mit einem Wert hinterlegen kann. Anhand dieser Attribute macht dann im Änderungsfall das Plugin etwas mit dem Item oder aber wenn sich das Item ändert, dann macht das Plugin etwas.

          Kommentar


            #20
            Ich habe es nach deiner Anleitung, die du in Post #2bzw.3 geschrieben hast installiert:
            Code:
             
             cd /usr/local [B]sudo git clone git://github.com/smarthomeNG/smarthome.git[/B] sudo chown -R smarthome:smarthome /usr/local/smarthome cd /usr/local/smarthome/etc touch logic.conf
            smartVisu ist Version 2.7 Aber irgendwo müssen doch die Plugins beschrieben sein?

            Kommentar


              #21
              Hi floho,

              die Dokumentation besteht im Moment vorwiegend aus einer README Datei der jeweiligen Entwickler. Die Seite mit der Übersicht über die Plugins ist noch im Aufbau. Schau mal ob sie Dir weiter hilft.

              https://github.com/smarthomeNG/smarthome/wiki/Plugins
              Viele Grüße
              Martin

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

              Kommentar


                #22
                OK, dann hast Du den Master branch und noch kein Backend. Dann kannst Du wohl im August auf die Release-1.2 gehen. Aber jetzt gerade läuft es doch bei Dir, oder?

                Zum Thema Doku: Das Projekt wurde seit 2013 vom Entwickler nicht mehr öffentlich weiterentwickelt. Seit April gibt es nun einen Fork und es mußten zunächst viele Entwicklungen und Bugs der letzten Jahren zusammengetragen werden. Die erste Release sollte erstmal eine stabile Basis sein aber man kann in in 4 Monaten nicht alles aufholen. Immerhin hat es schon einige neue Entwicklungen für die kommende Release-1.2 gegeben.
                Du bist aber eingeladen Deine Erfahrungen schriftlich im Wiki niederzulegen und Dich einzubringen.
                Zuletzt geändert von bmx; 21.07.2016, 20:49.

                Kommentar


                  #23
                  Ja es läuft derzeit bei mir. Zumindest die Lichter kann ich an/aus schalten. Die Rollos sind mein nächstes Thema bei dem ich gerade auch am Verzweifeln bin. Wirkliche Beispiele kann ich auch nicht finden?! in der example/items/smartvisu.conf stehen leider keine Einstellungen wie die Gruppenadressen einzubinden sind..

                  Das erklärt natürlich einiges. Vielen Dank für die Info. Sehr gerne helfe ich mit meine Erfahrungen zu teilen. Da ich erst seit ein paar Tagen mit der VISU arbeite fällt es mir jedoch im Moment sehr schwer etwas konstruktives beizutragen, da ich ja selbst nicht richtig durchblicke was ich überhaupt mache... (ich weiß weder was das backend tut, warum ich plötzlich [visu] und [smartVISU] in der config brauche (nagut.. wegen des master branch) ... noch etliche andere dinge)
                  Aber ich denke mal mein Problem (Die Einrichtung etc. - also dieser Thread - wäre schon ein Thema Wert? oder habe ich mich einfach nur blöd angestellt?! - ich weiß es nicht )
                  Wenn ich das mit den Rollos hinbekommen habe, schreibe ich gerne mal ein Tutorial wie ich was konfiguriert und eingebunden hab. - oder gibt es dazu doch schon was?!

                  Wenn wir schon dabei sind:

                  Ich besitze Rollladen die Hoch/runtergefahren werden sollen.

                  Auf der smartVISU doku habe ich folgendes gefunden (natürlich muss das noch angepasst werden):
                  Code:
                        <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>Rollladen</h3>
                                  {{ basic.shutter(rollo_alle, 0, 255, min, max, step, 0) }}
                              </div>
                  
                          </div>
                      </div>
                  Doch wie das Ganze in der item.conf auschauen muss, habe ich keine Idee:

                  Code:
                  [[[DG]]]
                      [[rollo]]
                          [[[alle]]]
                              name = Rollo Alle
                  und auch hier schon wieder die nächste Frage: Warum muss die Datei item.conf heißen?! Sobald ich den Namen ändere.. z.B. in smartvisu.conf, funktioniert leider nichts mehr...


                  Dankeschön für die hervorragende Hilfe bisher.

                  Kommentar


                    #24
                    Unter "/items" bei SmartHomeNG ist es egal wie der Prefix vor dem .conf heißt. Verwechsel das aber bitte nicht mit etwaigen .conf Datein in der SmartVisu. Das sind getrennte Produkte...

                    Allgemein findest Du in alten Forum-Threads viele Themen, bspw auch zu Rollläden. Da muss man sich halt durchwühlen. So ging es mir auch. Allgemein denke ich aber, dass das sehr von den Rolläden (Jalousien oder klassiche Rollläden etc) und Aktoren abhängig ist, daher ist das nicht in 5 Minuten gebaut und kann auch nicht allgemeingültig dokumentiert werden.. Bischen in die Tiefe seiner KNX-Installation muss man leider doch vorstoßen. Gut Testen lässt es sich auch via ETS.

                    Trotzdem als Bsp. meine Rollläden. Move ist die GAD die einfach auf oder zu macht (0 = auf, 1 = zu, enforce-updates musste ich setzen, wenn ich merhmals den gleichen wert hinschicke.. da gab es Szenarien wo das nötig war), stop stoppt (man beachte auch hier das encforce_updates) und position fährt relativ an, daher knx_dpt = 5.001. Die GADs dafür musste ich mit ETS aber erst noch einrichten und die Rollläden einfahren, das hatte mein Elektriker nicht gemacht. Hier ist die GAD zum Anfahren (73) eingetragen, und die um den aktuellen relativen Wert abzufragen (72).

                    Code:
                    [[shutter1]]
                       name = shutter1
                       [[[move]]]
                          type = bool
                          knx_dpt = 1
                          knx_send = 2/3/70
                          enforce_updates=true
                          visu_acl = rw
                       [[[stop]]]
                          type = bool
                          knx_dpt = 1
                          knx_send = 2/3/71
                          enforce_updates=true
                          visu_acl = rw
                       [[[position]]]
                          type = num
                          knx_dpt = 5.001
                          knx_cache = 2/3/72
                          knx_send = 2/3/73
                          visu_acl = rw
                    Dazu habe ich ein eigenes Widget gebaut, da das Standardwidget nicht 100% auf meinen Use-Case ausgelegt war:
                    Code:
                    {% import "widgets/widget_shutter_small.html" as smallshutter %}
                    {{ smallshutter.smallshutrelative('office_sshut', 'Rolladen', 'office.shutter1.move', 'office.shutter1.stop', 'office.shutter1.position') }}
                    Code:
                    {% macro smallshutrelative(id, txt, gad_move, gad_stop, gad_pos) %}
                    {% import "basic.html" as basic %}
                    {% set uid = uid(page, id) %}
                    
                    {% import   "basic.html" as basic %}
                        
                        /** Design */
                        <div class="blind" style="float:left;">
                            <table align="center" cellpadding="0 3 0 3" width="175px">
                            <tr>
                                <td valign="top">{% if txt %}<span style="font-weight:bold;">{{ txt }}:</span>{% endif %}</td>
                                <td rowspan="3" align="left" class="pos" style="padding-left: 3px; padding-top: 15px;">              
                                {{ basic.shutter(id|_('pos'), gad_pos, '', 0, 100, 5) }}
                                </td>
                            </tr>
                            <tr>
                                <td valign="top">
                                    <span data-role="controlgroup" data-type="vertical">
                                            {{ basic.button(id|_('up'), gad_move, '', icon0~'control_arrow_up.png', 0, 'mini') }}
                                            {% if gad_stop %} {{ basic.button(id|_('stop'), gad_stop, '', icon0~'audio_stop.png', 1, 'mini') }}{% endif %}
                                            {{ basic.button(id|_('down'), gad_move, '', icon0~'control_arrow_down.png', 1, 'mini') }}
                                    </span>
                                </td>  
                            </tr>      
                            </table>
                        </div>        
                    {% endmacro %}
                    Zuletzt geändert von psilo; 22.07.2016, 09:10.

                    Kommentar


                      #25
                      Super! Vielen Dank. Ich habe am Wochenende schon etwas rumprobiert. Hoch / Runter fahren die Rollos bereits, relativ gibt es noch paar Probleme (schätze das liegt noch an der Umrechnung ... aber das bekomme ich schon hin )

                      Nochmals Danke für sämtlich Hilfe !

                      Ein Tutorial von meinem System werde ich nachreichen !!

                      Kommentar


                        #26
                        Zitat von bmx Beitrag anzeigen
                        Hast Du das Plugin für die Visu auch eingebunden? Also sowas z.B.:
                        Code:
                        [WebSocket]
                        class_name = WebSocket
                        class_path = plugins.visu_websocket
                        # ip='0.0.0.0'
                        # port=2424
                        # tls = no
                        # acl = ro
                        
                        [SmartVisu]
                        class_name = SmartVisu
                        class_path = plugins.visu_smartvisu
                        # smartvisu_dir = False
                        # handle_widgets = True
                        smartvisu_dir = /var/www/html/smartVISU
                        Und bei der Gelegenheit kannst Du auch evtl. das Backend gleich mit einbinden:
                        Code:
                        [BackendServer]
                        class_name = BackendServer
                        class_path = plugins.backend
                        #ip = xxx.xxx.xxx.xxx
                        port = 8383
                        updates_allowed = True
                        threads = 8
                        user = admin
                        password = xxxx
                        language = de
                        Hay,


                        kann mir jemand sagen an was es liegen kann wenn das Backend den Login nicht akzeptiert obwohl ich genau den gleichen eintippe wie in
                        der plugin.conf?

                        Danke im Voraus

                        Kommentar

                        Lädt...
                        X