Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin Siemens LOGO 0BA7

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

    #61

    knx_sent ist mir unbekannt und knx_update ist mir auch neu ...

    Kommentar


      #62
      zum Testen das neue snap7_logo - Plugin.
      ebenfalls zum Testen der verbesserte Lese-Zyklus im logo - Plugin, welcher nun nicht mehr die CPU belasten sollte,..

      Die snap7 Library scheint im Gegensatz zu libnodave aktueller zu sein, und läuft auch auf 64bit-Systemen (getestet)

      Nicht getestet ist die Multi-Instanz-Fähigkeit, da derzeit nur eine Logo im Hause..

      Die Funktionsweise von snap7_logo ist mehr oder weniger gleich dem bisherigen logo Plugin. Die Konfiguration im plugin.yaml muss etwas angepasst werden.

      logo läuft mit libnodave - lib (nur 32bit Systeme)
      snap7_logo läuft mit snap7 - lib (32+64bit)

      Gruß Ivan
      Zuletzt geändert von ivande; 03.09.2018, 16:35.

      Kommentar


        #63
        Cool, danke für die Arbeit

        Wie installiere ich die Plugins denn am einfachsten in SmarthomeNG?
        MFG
        Dominik Auhuber

        Kommentar


          #64
          wenn Plugins (oder z.B. die oben verlinkten Test-Versionen) nicht aus dem SH-repository kommen, mache ich den Download der Files immer manuell und kopieren diese in den Plugin's- Ordner..

          Kommentar


            #65
            Hallo,

            hatte heute mal Zeit das Snap 7 Plugin zu Testen.

            Leider bekomm ich keine Verbindung zur Logo.

            Zuerst kam die Fehlermeldung
            Code:
            2018-10-20  08:55:52 ERROR    lib.plugin        Plugin 'snap7logo' from section 'logo2' exception: invalid literal for int() with base 10: ''
            Traceback (most recent call last):
              File "/usr/local/smarthome/lib/plugin.py", line 129, in __init__
                plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._gtrans)
              File "/usr/local/smarthome/lib/plugin.py", line 567, 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/snap7logo/__init__.py", line 38, in __init__
                self.tsap_server = int(tsap_server)
            ValueError: invalid literal for int() with base 10: ''
            Hab daraufhin in der _init_.py das "int" bei self.tsap_server und bei self.tsap_client gelöscht.

            Code:
             
             self.tsap_server = (tsap_server) self.tsap_client = (tsap_client)
            Ein auskommentieren von tsap_server tsap_clinet in der plugin.yaml hilft ebenfalls.

            Allerdings Startet das Plugin trotzdem nicht. Bekomm die Fehlermeldung:

            Code:
            2018-10-20  10:23:19 ERROR    plugins.snap7logo logo2: could not connect to :  is invalid ipv4
            Die IP is aber richtig.

            Bin mir jetzt nicht ganz sicher wo der Fehler liegen könnte.
            Am tasp_server / clinet? Vieleicht an meiner Test 0BA7? Oder doch im Plugin?

            Grüße

            Dominik



            MFG
            Dominik Auhuber

            Kommentar


              #66
              Hab nun das überarbeitete Logo Plugin getestet.
              Lief auch nicht auf Anhieb.
              Fehlermeldung:
              Code:
              2018-10-20  11:05:43 ERROR    plugins.logo      logo1: could not connect to b'':102: __init__() missing 1 required positional argument: 'host'
              Ich bekomme aber BEIDE Plugins zum laufen wenn ich Host Tasp Server usw. direkt in der _init_.py eintrage und die entsprechenden
              zeilen in der plugin.yaml ausklammere.

              Hab ich einen (Format) fehler in meiner plugin.yaml?

              Hier mal die Config (Auszug) wie es funktioniert:

              plugin.yaml:
              Code:
              logo1:
                  class_name: LOGO
                  class_path: plugins.logo
              #    host: 192.168.10.212
                  instance: logo1
              #    port: 102
              #    io_wait: 5
                  version: 0BA8
                  #password: 'logo'
              
              logo2:
                  class_name: snap7logo
                  class_path: plugins.snap7logo
              #    host: 192.168.10.211
              #    tsap_server: 0x0200
              #    tsap_client: 0x0100
                  instance: logo2
              #     cycle: 5
              #    version: 0BA8
              _init_.py von snap7:
              Code:
              class snap7logo(SmartPlugin):
              
                  ALLOW_MULTIINSTANCE = True
                  PLUGIN_VERSION = "1.5.1"
                  def __init__(self, smarthome, host='192.168.10.211', tsap_server=0x0200, tsap_client=0x0100, version='0BA7', cycle=5 ):
                      self.logger = logging.getLogger(__name__)
                      self.host = host
                      self.tsap_server = (tsap_server)
                      self.tsap_client = (tsap_client)
                      self._version = version
                      self._cycle = int(cycle)
                      self._lock = threading.Lock()
                      self._rw_lock = threading.Lock()
                      self.connected = False
                      self._sh = smarthome
                      self._connection_attempts = 0
                      self._connection_errorlog = 2
              _init_.py von logo:
              Code:
              class LOGO(SmartPlugin):
              
                  ALLOW_MULTIINSTANCE = True
                  PLUGIN_VERSION = "1.2.4"
                  def __init__(self, smarthome, host='192.168.10.212', port=102, io_wait=5, version='0BA7'):
                      self.logger = logging.getLogger(__name__)
                      self.host = str(host).encode('ascii')
                      self.port = int(port)
                      self._version = version
                      self._io_wait = float(io_wait)
                      self._cycle = int(io_wait)
                      self._sock = False
                      self._lock = threading.Lock()
                      self._rw_lock = threading.Lock()
                      self.connected = False
                      self._sh = smarthome
                      self._connection_attempts = 0
                      self._connection_errorlog = 2
              MFG
              Dominik Auhuber

              Kommentar


                #67
                danke für's testen

                bei mir sieht plugin.yaml so aus:

                Code:
                logo1:
                    class_name: snap7logo
                    class_path: plugins.snap7_logo
                    host: 192.168.0.76
                    tsap_server: 0x0200
                    tsap_client: 0x0100
                #    cycle: 5
                vielleicht gibt es ein Problem mit den Einrückungen in deiner yaml-Datei. Ich weiß nicht was passiert wenn Einrückungen mit Tabulator gemacht werden?

                Gruß Ivan

                Kommentar


                  #68
                  hab in der snap7_logo - Version noch das webinterface hinzugefügt,..

                  https://github.com/ivan73/plugins/tr...lop/snap7_logo

                  Gruß Ivan

                  Kommentar


                    #69
                    Hallo Ivan,

                    funktioniert super das WebIF. Schön übersichtlich.

                    Grüße
                    Dominik
                    MFG
                    Dominik Auhuber

                    Kommentar


                      #70
                      ivande Kannst Du noch einen PR für das Plugin Repo stellen? Dann kommt das in das kommende Plugin-Release (Wir können jetzt für die Plugins eigene Releases machen, ohne den Core).

                      Viele Grüße
                      Martin

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

                      Kommentar


                        #71
                        Zitat von Msinn Beitrag anzeigen
                        ivande Kannst Du noch einen PR für das Plugin Repo stellen? Dann kommt das in das kommende Plugin-Release (Wir können jetzt für die Plugins eigene Releases machen, ohne den Core).
                        wenn ich Änderungen an mehreren plugins (sonos, snap7_logo, telegram) gemacht habe, so werden diese, wenn ich nun einen PR mache, so wie ich es verstehe, alle Änderungen in den verschiedenen Plugins in einem PR zusammen gefasst? Wäre dies ein Problem?

                        Gruß Ivan

                        Kommentar


                          #72
                          Das macht die Durchsicht etwas aufwendiger und man kann im Problemfall nicht einfach die Änderungen an einem Plugin zurücknehmen. Insofern wären separate PRs schöner. Falls Du das nicht hin bekommst (parallel mehrere PRs zu stellen) dann stell die PRs am besten nacheinander und warde jeweils bis der jeweilige PR akzeptiert wurde.

                          Für. mehrere parallele PRs müsstest Du in Deinem Repo jeweils Branches erstellen und as den Branches heraus jeweils ein PR für ein Plugin erstellen.
                          Viele Grüße
                          Martin

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

                          Kommentar


                            #73
                            Hallo Ivan,

                            hab noch ein kleines Problem mit dem Plugin.
                            Ich schalte meine Logo über Nacht komplett ab (Stromsparen).
                            Am nächsten Tag verbindet sich das Plugin nicht mehr. Erst nach einem SmarthomeNG neustart gehts dann wieder.
                            Im log steht dann irgendwas von "Update loop" oder so. (ist leider schon wieder weg, muss ich erst nochmal nachstellen)

                            Mit deinem älteren Logo Plugin klappt das einwandfrei.

                            Grüße
                            Dominik
                            MFG
                            Dominik Auhuber

                            Kommentar


                              #74
                              Zitat von DosOrDie Beitrag anzeigen
                              Am nächsten Tag verbindet sich das Plugin nicht mehr.
                              ich habe nun Versucht einen Verbindungsabbruch abzufangen, auch wenn dies nur über einen Umweg möglich war. Die snap7-Funktion get_connected() liefert leider nach einer ersten erfolgreichen Verbindung immer ein True, auch wenn die Verbindung unterbrochen wurde,..

                              hier die Version mit "Verbindungsabbrucherkennung" zum Testen:

                              https://github.com/ivan73/plugins/tr...lop/snap7_logo

                              Gruß Ivan

                              Kommentar


                                #75
                                Hallo Ivan,

                                klappt leider noch nicht ganz. Ein kurzer Verbindungsabbruch macht jetzt keine Probleme mehr. Aber über nacht klappts leider noch nicht.

                                Ich häng mal das log mit an.
                                Code:
                                2019-07-23  08:00:23 ERROR    plugins.snap7logo logo1: could not connect to 192.168.10.212: b' TCP : Unreachable peer'
                                2019-07-23  08:00:23 ERROR    snap7.common      b' TCP : Unreachable peer'
                                2019-07-23  08:00:24 ERROR    snap7.common      b' TCP : Unreachable peer'
                                2019-07-23  08:00:24 ERROR    plugins.snap7logo logo1: could not connect to 192.168.10.212: b' TCP : Unreachable peer'
                                2019-07-23  08:00:25 ERROR    snap7.common      b' TCP : Unreachable peer'
                                2019-07-23  08:00:26 ERROR    snap7.common      b' ISO : Bad PDU format'
                                2019-07-23  08:00:26 ERROR    plugins.snap7logo logo1: write_cycle()M1 write error b' ISO : Bad PDU format' 
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:26 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : An error occurred during recv TCP : Connection timed out'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: could not connect to 192.168.10.212: b' ISO : An error occurred during recv TCP : Connection timed out'
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : An error occurred during recv TCP : Connection timed out'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: read_cycle()0 read error b' ISO : An error occurred during recv TCP : Connection timed out' 
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo : read_cycle() Connection timed out!! 
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : Bad PDU format'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: read_cycle()0 read error b' ISO : Bad PDU format' 
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : Bad PDU format'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: read_cycle()0 read error b' ISO : Bad PDU format' 
                                2019-07-23  08:00:29 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:29 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : Bad PDU format'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: read_cycle()0 read error b' ISO : Bad PDU format' 
                                2019-07-23  08:00:29 ERROR    snap7.common      b' ISO : Bad PDU format'
                                2019-07-23  08:00:29 ERROR    plugins.snap7logo logo1: could not connect to 192.168.10.212: b' ISO : Bad PDU format'
                                2019-07-23  08:00:29 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                2019-07-23  08:00:29 WARNING  plugins.snap7logo _rw_lock locked!! (_update_loop)
                                Um 8 uhr schalte ich die Logo wieder ein....

                                Grüße

                                Dominik
                                MFG
                                Dominik Auhuber

                                Kommentar

                                Lädt...
                                X