Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin Siemens LOGO 0BA7

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

    #16
    Hallo Markus

    mein Item zum Lesen eines Analogen Merkers:

    PHP-Code:
    [Heizraum]
        [[
    Warmwasser]]
            [[[
    Ist_temperatur]]]
                
    type num
                
    eval = value/10 #(zum Anpassen des Analogen Wertes)
                
    visu yes
                visu_acl 
    rw
                sqlite 
    yes
                logo_read 
    AM1 # lesen vom Analogen Merker 1 


    meine plugin.conf

    PHP-Code:
    [logo]
        
    class_name LOGO
        class_path 
    plugins.logo
        host 
    10.0.0.180
        
    #port = 102
        
    version 0BA8
        io_wait
    =20 # nur alle 20 Sekunden von LOGO lesen 
    Gruß Ivan
    Zuletzt geändert von ivande; 05.07.2016, 21:12. Grund: ausgebessert: logo_read = AM1 # lesen vom Analogen Merker 1

    Kommentar


      #17
      [QUOTE=ivande;n963834]
      PHP-Code:
      [Heizraum]
      [[
      Warmwasser]]
      [[[
      Ist_temperatur]]]
      type num
      eval = value/10 #(zum Anpassen des Analogen Wertes)
      visu yes
      visu_acl 
      rw
      sqlite 
      yes
      logo_read 
      AM1 

      Vielen Dank.
      Eingang 2 ist dann einfach mit logo_read = AM2 anzusprechen?

      Kommentar


        #18
        sorry.. ich hab in meinen Post 16 etwas falsch geschrieben:

        mit AM1 lese ich den Analogen Merker 1, AM2 wäre dann der Analoge Merker 2 (nicht wie geschrieben die Analogen Eingänge)
        ich hoffe Du hast dadurch nicht zuviel Zeit zum Testen verloren..

        zum Lesen der Analogen Eingänge müsst es dann heissen:

        PHP-Code:
        Heizraum]
            [[
        Warmwasser]]
                [[[
        Ist_temperatur]]]
                    
        type num
                    
        eval = value/10 #(zum Anpassen des Analogen Wertes)
                    
        visu yes
                    visu_acl 
        rw
                    sqlite 
        yes
                    logo_read 
        AI1 # lesen vom Analog-Eingang 1 

        siehe Readme.md
        ### logo_read
        Input, Output, Mark to read from Siemens Logo

        ### logo_write
        Input, Output, Mark to write to Siemens Logo

        * 'I' Input bit to read I1, I2 I3,.. (max I24)
        * 'Q' Output bit to read/write Q1, Q2, Q3,.. (0BA7 max Q16; OBA8 max Q20)
        * 'M' Mark bit to read/write M1, M2 M3,.. (0BA7 max M27; OBA8 max M64)
        * 'AI' Analog Input(word) to read AI1, AI2, AI3,.. (max AI8)
        * 'AQ' Analog Output(word) to read/write AQ1, AQ2,.. (0BA7 max AQ2; OBA8 max AQ8)
        * 'AM' Analog Mark(word) to read/write AM1, AM2, AM3,.. (0BA7 max AM16; OBA8 max AM64)
        * 'NI' Network Input bit to read NI1, NI2,.. (OBA8 max NI64)
        * 'NAI' Network Analog Input (word) to read NAI1, NAI2,.. (OBA8 max NAI32)
        * 'NQ' Network Output bit to read NQ1, NQ2,.. (OBA8 max NQ64)
        * 'NAQ' Network Analog Output (word) to read NAQ1, NAQ2,.. (OBA8 max NAQ16)
        * 'VM' VM-Byte to read/write VM0, VM1, VM3,.. VM850
        * 'VMx.x' VM-Bit to read/write VM0.0, VM0.7, VM3.4,.. VM850.7
        * 'VMW' VM-Word to read/write VMW0, VM2, VMW4,.. VM849
        Gruß Ivan
        Zuletzt geändert von ivande; 05.07.2016, 21:14.

        Kommentar


          #19
          Hallo,

          Ich habe leider Probleme mit der Verbindung zum Logo.

          Plugin.conf
          Code:
          [logo]
              class_name = LOGO
              class_path = plugins.logo
              host = 192.168.0.111
              version = 0BA8
          item.conf
          Code:
          [Logo1]
              [[TempAI1]]
                  type = num
                  visu = yes
                  visu_acl = rw
                  sqlite = yes
                  logo_read = AI1
          LOG
          Code:
          2016-07-11 19:03:59,802 INFO     Main         Start SmartHome.py 1.0-45-g02cf972 -- smarthome.py:__init__:231
          2016-07-11 19:03:59,806 DEBUG    Main         Python 3.2.3 -- smarthome.py:__init__:232
          2016-07-11 19:03:59,812 INFO     Main         Init Scheduler -- scheduler.py:__init__:86
          2016-07-11 19:03:59,817 INFO     Main         Init Plugins -- smarthome.py:start:274
          2016-07-11 19:03:59,820 DEBUG    Scheduler    creating 5 workers -- scheduler.py:run:93
          2016-07-11 19:03:59,841 DEBUG    Main         Plugin: knx -- plugin.py:__init__:43
          2016-07-11 19:03:59,874 DEBUG    Main         Plugin: visu -- plugin.py:__init__:43
          2016-07-11 19:03:59,967 DEBUG    Main         Plugin: cli -- plugin.py:__init__:43
          2016-07-11 19:03:59,979 DEBUG    Main         Plugin: sql -- plugin.py:__init__:43
          2016-07-11 19:04:00,010 DEBUG    Main         SQLite 3.7.13 -- __init__.py:__init__:62
          2016-07-11 19:04:00,025 DEBUG    Main         SQLite: database integrity ok -- __init__.py:__init__:78
          2016-07-11 19:04:00,052 DEBUG    Main         SQLite pack next time: 2016-07-12 03:02:00+02:00 -- scheduler.py:_next_time:289
          2016-07-11 19:04:00,058 DEBUG    Main         Plugin: logo -- plugin.py:__init__:43
          2016-07-11 19:04:00,064 ERROR    Main         Plugin logo exception: No module named logo -- plugin.py:__init__:57
          Traceback (most recent call last):
            File "/usr/smarthome/lib/plugin.py", line 53, in __init__
              plugin_thread = Plugin(smarthome, plugin, classname, classpath, args)
            File "/usr/smarthome/lib/plugin.py", line 79, in __init__
              exec("import {0}".format(classpath))
            File "<string>", line 1, in <module>
          ImportError: No module named logo
          Hab ich etwas vergessen?

          Kommentar


            #20
            Hallo Markus,

            so wie es aussieht fehlt Dir das Logo-Plugin. Bei der SmartHomep.py Master-1.0Version war das Logo-Plugin noch nicht dabei,..
            Sieh bitte erst einmal nach, ob im plugins Ordner das "logo"-plugin vorhanden ist!

            Wenn nicht, kannst Du es Dir hier herunterladen und in den Ordner SmartHome/plugins kopiern,..

            Zusätzlich benötigt das logo-Plugin eine Bibliothek. Diese musst Du Dir ins Verzeichnis '/lib/libnodave.so' kopieren

            Wenn Du einen raspberry.pi benützt, kannst Du die beiliegende Bibliothek 'libnodave.so' aus dem logo-plugin Ordner ins Verzeichnis '/lib/libnodave.so' kopieren
            sudo cp /usr/smarthome/plugins/logo/libnodave.so /lib/libnodave.so

            (gegebenenfalls den Pfad anpassen..)

            Läuft Dein SmartHome.py auf einer anderen Maschine, musst Du dir die Bibliothek (version: 0.8.4.6) hier herunterladen und mit 'make' kompilieren. Nach dem Kompilieren ebenfalls ins Verzeichnis '/lib/libnodave.so' kopieren



            Gruß Ivan
            Zuletzt geändert von ivande; 11.07.2016, 20:54. Grund: Link angepasst

            Kommentar


              #21
              Hallo Ivan,
              Danke für deine Rückmeldung.
              Ich hatte das Plugin bereits angelegt und sämtliche Dateien kopiert. Ich denke "link Speichern unter" im git war nicht korrekt.
              Ich hab nochmal alles in der RAW Ansicht kopiert und die Datei manuell erstellt. Nun klappt die Verbindung.

              Eine weitere Frage.....
              -) Kann das Plugin auch mit Erweiterungen der Logo umgehen?
              -) Kann ich das Plugin auch zweimal für 2 Logos laufen lassen? --> PluginOrdner logo1 und logo2?

              mfg
              Markus

              Kommentar


                #22
                Guten Morgen,

                freut mich dass die Verbindung zur Logo klappt..
                Erweiterungen dürften kein Problem sein, einfach bei den Eingängen den Index angeben wie in der Logo Programmiert z.B. AI5 (AnalogEingang 5)

                die Sache mit den zwei Logos habe ich nicht getestet (und kann ich zur Zeit auch nicht, da ich jetzt nur eine hier habe)
                den Logo-Ordner im plugins Verzeichnis brauchst Du nicht doppelt anlegen, jedoch in der plugin.conf:

                PHP-Code:

                [logo1]
                    
                class_name LOGO
                    class_path 
                plugins.logo
                    host 
                10.0.0.181
                    
                #port = 102
                    
                version 0BA8
                    io_wait
                =20 # nur alle 20 Sekunden von LOGO lesen  

                [logo2]
                    
                class_name LOGO
                    class_path 
                plugins.logo
                    host 
                10.0.0.182
                    
                #port = 102
                    
                version 0BA8
                    io_wait
                =20 # nur alle 20 Sekunden von LOGO lesen 
                Gruß Ivan
                Zuletzt geändert von ivande; 12.07.2016, 08:11. Grund: class_name = LOGO angepasst

                Kommentar


                  #23
                  Zitat von ivande Beitrag anzeigen
                  die Sache mit den zwei Logos habe ich nicht getestet (und kann ich zur Zeit auch nicht, da ich jetzt nur eine hier habe)
                  den Logo-Ordner im plugins Verzeichnis brauchst Du nicht doppelt anlegen, jedoch in der plugin.conf:

                  PHP-Code:

                  [logo1]
                  class_name LOGO
                  class_path 
                  plugins.logo
                  host 
                  10.0.0.181
                  #port = 102
                  version 0BA8
                  io_wait
                  =20 # nur alle 20 Sekunden von LOGO lesen

                  [logo2]
                  class_name LOGO
                  class_path 
                  plugins.logo
                  host 
                  10.0.0.182
                  #port = 102
                  version 0BA8
                  io_wait
                  =20 # nur alle 20 Sekunden von LOGO lesen 
                  Gruß Ivan
                  Danke. Woher weiß das Plugin, welchen der beiden Logo ich anspreche, wenn im Item logo_read = AI1 steht?
                  Oder muss auch in diesem Fall der Index im Logo entsprechend eindeutig programmiert werden?

                  Ich habe keine Erfahrung mit der Programmierung der LOGO.....wo finde ich diesen Index?
                  Zuletzt geändert von fuxl66; 12.07.2016, 08:57.

                  Kommentar


                    #24
                    Hallo Markus,

                    das stimmt, mit zwei Logos kann das Plugin so nicht umgehen,... dazu müsste ich das Plungin ein wenig umgestalten. Dies kann allerdings ein paar Wochen dauern, da erst einmal Umzug + Urlaub anstehen :-)
                    Gruß Ivan



                    Kommentar


                      #25
                      Zitat von ivande Beitrag anzeigen
                      Hallo Markus,

                      das stimmt, mit zwei Logos kann das Plugin so nicht umgehen,... dazu müsste ich das Plungin ein wenig umgestalten. Dies kann allerdings ein paar Wochen dauern, da erst einmal Umzug + Urlaub anstehen :-)
                      Gruß Ivan
                      Urlaub+Umzug ist natürlich wichtiger. logisch. ;-)
                      Muss ich wohl bei meinem aktuellen Projekt 2 Raspi einsetzen, oder siehst du sonst noch eine Möglichkeit?

                      Kommentar


                        #26
                        Hallo Markus,

                        evtl könne man auch zwei Instanzen won sh.py gleichzeitig laufen lassen :-) also nur 1 Raspi und trotzdem 2x sh.py

                        Gruß Ivan

                        Kommentar


                          #27
                          Angenommen ich dupliziere den Pluginordner zu logo1. Ersetze danach alle logo_read und logo_write in der init.py zu logo1_read und logo1_write.
                          Könnte ich damit dann den analog Eingang AI1 der beiden Logos gezielt ansprechen?
                          Natürlich ebenfalls duplizieren und entsprechender Änderungen der IP in der plugin.conf.

                          Möglich oder lieg ich komplett falsch?

                          mfg
                          Markus

                          Kommentar


                            #28
                            Hallo Markus,

                            das Plugin doppelt anzulegen bringt so oder so nichts, da das Plugin auf die Item-Attribute "logo_read " und "logo_write" reagiert. In diesem Fall würden dann beide Plugins (fast) gleichzeitig, zwar die Werte von den zwei Logo's holen, jedoch dann ins gleiche Item schreiben..

                            Gruß Ivan

                            Kommentar


                              #29
                              Zitat von ivande Beitrag anzeigen
                              Hallo Markus,

                              das Plugin doppelt anzulegen bringt so oder so nichts, da das Plugin auf die Item-Attribute "logo_read " und "logo_write" reagiert. In diesem Fall würden dann beide Plugins (fast) gleichzeitig, zwar die Werte von den zwei Logo's holen, jedoch dann ins gleiche Item schreiben..

                              Gruß Ivan
                              Aber warum ins gleiche Item? Ich lege ja auch zwei Items an:

                              Code:
                              [Tank1]
                                  [[TempAI1]]
                                      type = num
                                      visu = yes
                                      visu_acl = rw
                                      sqlite = yes
                                      logo_read = AI4
                              Code:
                              [Tank2]
                                  [[TempAI1]]
                                      type = num
                                      visu = yes
                                      visu_acl = rw
                                      sqlite = yes
                                      logo1_read = AI4
                              Zumindest klingt das für mich logisch! ;-)

                              Kommentar


                                #30
                                das Plugin wird aktiv, wenn im Item ein Attribut logo_read bzw. logo_write steht. Das Attribut logo1_read wird vom Plugin nicht erkannt, somit würde da auch nichts "passieren," ausser man ändert dies im Quellcode.. Zudem überwacht das Plugin zyklisch, praktisch im Hintergrund, ständig die Logo-E/A,.. auf Änderung - Hier wird es mit zwei Plugins auch Probleme geben,..
                                Ich habe bereit 2 andere Plugins von mir im Einsatz, bei welchem mehrere Instanzen möglich sind. Von dem her wäre das Plugin Umzubauen keine soo große Aufgabe,.. Aber wie gesagt, in den nächsten 2-3 Wochen komme ich nicht dazu..
                                Gruß Ivan

                                Kommentar

                                Lädt...
                                X