Ankündigung

Einklappen
Keine Ankündigung bisher.

smarthomeNG über ETS konfigurieren

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

    #16
    Onkelandy Du musst vorher im Kontextmenü der Solution mal auf "Restore NuGet Packages" klicken. Dann läd VS die benötigten Abhängigkeiten herunter. (NuGet ist das Äquivalent zu pip bei Python)

    Kommentar


      #17
      Es gibt das Tool auch kompiliert, falls das reicht.

      Kommentar


        #18
        Onkelandy: Der Fehler in Python kommt wahrscheinlich dadurch, dass die Länge der übergebenen Bytes zum Kommunikationsobjekt nicht stimmt. Wenn du Lust hast, kannst du das ja mit ein paar print() Zeilen untersuchen. Ich versuche erstmal ein Webinterface für das Plugin zu bauen.

        Kommentar


          #19
          Eine kompilierte Variante wäre schon ein Ansatz henfri für ETS 5.5

          Das mit den Paketen hatte ich gemacht. Jetzt habe ich die allerdings noch aktualisiert und die Fehelrmeldung ist nun eine andere, wenn ich auf Build Solution gehe:
          Code:
          Error        The property 'DragDrop.IsDragSource' does not exist in XML namespace 'clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop'. Line 81 Position 52.    CreateKnxProd    E:\Downloads\CreateKnxProd-master\MainWindow.xaml    81
          gong-wpf-dragdrop hab ich v1.1.0 installiert.
          .NET hab ich 4.6.1 und 4.7.2 falls das relevant ist.

          Kommentar


            #20
            Du kannst die vorkompilierte Version von https://github.com/thelsing/CreateKnxProd/releases geht auch mit ETS 5.5. Du muss nur den Pfand in der .config Datei wie in der Readme erwähnt anpassen.

            Edit: Ich habe im Projekt den Pfad zu den Referenzen korrigiert.
            Zuletzt geändert von thesing; 21.01.2019, 13:51.

            Kommentar


              #21
              Oki, danke. Mit der neuen Version hat es nun geklappt. War zwar alles recht holprig - mit hash Fehler in ETS, etc. - aber im Großen und Ganzen tut es.

              Nur.. das Plugin bringt bei mir egal was ich tue immer den ValueError: bytesvalue. Was mach ich da falsch? Hab's sowohl mit develop als auch master branch von shng getestet. Hab auch mal rawvalue = bytes(True) angegeben. Es ist völlig egal.

              Kommentar


                #22
                Mal eine dumme Frage. Du hast schon shNG erfolgreich mit ETS "programmiert", oder? Obwohl es auch so keine Fehler geben sollte.
                Der Fehler kommt eigentlich wenn die Anzahl der Bytes nicht mit der Größe des KO übereinstimmt. Bei dpt 1 also z.B. 1 Byte.
                Die Zeile von dir müsste bei dpt 1 also auch "rawvalue = bytes([0])" oder "bytes([1])" heißen.
                Ich teste derzeit übrigens nur mit der master branch.

                Kommentar


                  #23
                  Ja, programmiert hab ich, also die PA.
                  Möchte nicht ausschließen, dass meine knxprod Blödsinn ist. Wäre super, wenn du hier mal Item und prod config rein stellen könntest, dann find ich vielleicht das Problem.

                  Kommentar


                    #24
                    Keine GA programmiert?

                    Kommentar


                      #25
                      Das Programmieren scheint tatsächlich nicht geklappt zu haben.

                      Also refresh...
                      - Löschen der flash.bin
                      - Aktivieren des ProgramMode im Plugin in Zeile 112
                      - Hinzufügen von "knx_go: 1 und knx_dpt: 1" in einem Item
                      - Starten von shng

                      - Anpassen des Verzeichnisses für ETS5 in CreateKnxProd.exe.config
                      - Erstellen der knxdprod mit einem KO als 1bit. Die leeren Felder auf Seite 1 habe ich mit shng ausgefüllt.
                      - ETS: Importieren und Hinzufügen des Geräts in ETS 5.5 / 5.6 (hier gabs beim erneuten Import bzw. Hinzufügen immer wieder "Hash" Fehlermeldungen)
                      - ETS: Programmieren der PA. Erfolgreich.

                      - Löschen der Zeile 112 im Plugin
                      - shng neustarten

                      - ETS: Zuweisen einer GA
                      - partielle Programmierung

                      Bei Letzterem kommt nun der Fehler:
                      inkompatible BCU Version 57B0 (benötigt wird 07B0)

                      Ich hab das knxdprod hier mal angehängt. Danke für die Hilfe
                      Angehängte Dateien

                      Kommentar


                        #26
                        Du musst als Medium in der knxprod IP auswählen. Dieses Gerät kann man dann auch nur in eine IP-Linie einfügen. 07B0 steht für ein TP-Gerät und 57B0 für ein IP-Gerät.

                        Kommentar


                          #27
                          Ich habe inzwischen einen Zwischenstand unter https://github.com/thelsing/knx_ets hochgeladen. Die flash.bin wird jetzt unter var/knx_ets abgelegt.
                          Man kann nun den Programmiermodus im webif umschalten. Außerdem kann man eine xml-Datei für CreateKnxprod vom webif herunterladen. Die generierte xml-Datei wird auch unter var/knx_ets abgelegt.

                          Die anderen knx_attribute beinflussen die Standartflags der Kommunikationsobjekte. (Siehe Readme)

                          Nächster Schritt:
                          Ich will knx_go wieder los werden. Dazu würde ich die verschiedenen GAs zählen die ein item durch die diversen knx_*-Attribute erhalten hat. Pro GA würde ich dann ein KO anlegen. Die Standardflags des ersten wird wie in der Readme ermittelt. (ohne knx_status). Wenn das Item das knx_status-Attribut hat, generiere ich ein zweites KO mit den Flags, die so ein Objekt normalerweise hat. Die restlichen KOs für das Item (Anzahl GAs des Items - 2) kriegen keine Flags gesetzt.
                          Natürlich kann man die Flags für jedes KO in ETS normal überschreiben. In ETS hat ein KO einen Namen und einen Funktionsnamen. Ich würde als Namen str(item) nehmen und bei Funktiontext vom ersten KO eines Items "value", beim zweiten "status" (wenn durch knx_status) und alle weiteren bekommen "extra_1", "extra_2" usw.

                          Danach kommt knx_poll dran. Statistikfunktion und Busmonitor werde ich nicht implementieren.
                          Die date_ga und time_ga vom knx_plugin müsste man doch mit extra items für Zeit und Datum mit eval und cycle erschlagen kriegen.

                          Habt ihr Fragen/Anmerkungen/Vorschläge dazu?

                          Msinn Fehlt dem plugin rein formell außer der plugin.yaml noch etwas?

                          Kommentar


                            #28
                            Ich bin beeindruckt!

                            Kommentar


                              #29
                              Sehr cool, hab nun auch alles zum Laufen gebracht. Beim Start allerdings diesen Fehler..
                              Code:
                              2019-01-23  23:03:43 ERROR    lib.plugin        Plugin 'knx_ets' from section 'knx_ets' exception: module 'knx' has no attribute 'FlashFilePath'
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/plugin.py", line 143, in __init__
                                  plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._gtrans)
                                File "/usr/local/smarthome/lib/plugin.py", line 596, in __init__
                                  exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
                                File "<string>", line 1, in <module>
                                File "/usr/local/smarthome/plugins/knx_ets/__init__.py", line 75, in __init__
                                  knx.FlashFilePath(flashFile)
                              AttributeError: module 'knx' has no attribute 'FlashFilePath'

                              Kommentar


                                #30
                                Onkelandy Du musst die knx-Extension aktualisieren und neu bauen.

                                Kommentar

                                Lädt...
                                X