Ankündigung

Einklappen
Keine Ankündigung bisher.

Beitrag: Plugin zum Lesen von SMA-Wechselrichtern (Sunnyboy 5000TL-21 getestet)

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

    #76
    Alles korrekt. WAD.

    Einfach mal
    Code:
     
     [Inverter]   [[Plugin_active]]     type = bool     sma = PLUGIN_ACTIVE
    auf true setzen...

    Grüße
    Robert

    Kommentar


      #77
      Hallo,

      danke Robert für Deinen Tipp. Jetzt gibt es zumindest den Verbindungsaufbau, der jedoch wieder scheitert:

      Code:
      2015-11-26 21:15:04,068 INFO     sma          sma: via bluetooth connected to 00:80:25:31:CC:25 -- __init__.py:run:245
      2015-11-26 21:15:04,775 DEBUG    Main         knx: 1.1.255 set 3/3/29 to 7b -- __init__.py:parse_telegram:181
      2015-11-26 21:15:04,813 DEBUG    Main         knx: 1.1.255 set 3/3/18 to 4e -- __init__.py:parse_telegram:181
      2015-11-26 21:15:04,957 DEBUG    Main         knx: 1.1.6 set 3/5/18 to 4e -- __init__.py:parse_telegram:181
      2015-11-26 21:15:06,090 WARNING  sma          sma: rx: timeout exception - could not receive msg within 2.0s -- __init__.py:_recv_smanet1_msg:435
      2015-11-26 21:15:06,091 ERROR    sma          sma: establishing connection to inverter failed - 'NoneType' object is not subscriptable -- __init__.py:run:260
      Ich habe versucht "allowed_timedelta" auf 0 oder 240 zu setzen. Die Warnung blieb trotzdem bestehen.

      Mit der Fehlermeldung kann ich grad nichts anfangen. Ich versuchs weiter.

      By

      Kommentar


        #78
        Hi!

        Werden denn INV_ADDRESS und INV_SERIAL korrekt gelesen? Stimmt das Passwort, sprich kannst du dich z.B. per Sunny Explorer damit einloggen? "allowed_timedelta" mal auch -1 setzen.

        Grüße
        Robert

        Kommentar


          #79
          Hallo,

          ich versuche zurzeit den Zugriff auf einen SMA Sunny Boy 4000TL-20.
          auch mit der neusten Version des Plugins bekomme ich folgende Fehlermeldungen:

          HTML-Code:
          2015-11-30 13:50:46,737 INFO sma sma: via bluetooth connected to 00:80:25:2B:E3:82 -- __init__.py:run:245
          2015-11-30 13:50:46,831 INFO sma sma: own bluetooth address: 00:80:25:1d:2a:0e -- __init__.py:_inv_connect:553
          2015-11-30 13:50:46,877 WARNING sma sma: rx: wrong dst addr -- __init__.py:_recv_smanet1_msg:430
          2015-11-30 13:50:46,883 WARNING sma sma: no SMANET2 msg -- __init__.py:_recv_smanet2_msg:466
          2015-11-30 13:50:46,889 WARNING sma sma: recv: len=30 / data=[0x00 0x00 0x00 0x00 0x00 0x00 0x0e 0x2a 0x1d 0x25 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00] -- __init__.py:_recv_smanet2_msg:467
          2015-11-30 13:50:47,002 WARNING sma sma: rx: wrong dst addr -- __init__.py:_recv_smanet1_msg:430
          2015-11-30 13:50:47,007 WARNING sma sma: no SMANET2 msg -- __init__.py:_recv_smanet2_msg:466
          2015-11-30 13:50:47,013 WARNING sma sma: recv: len=0 / data=[] -- __init__.py:_recv_smanet2_msg:467
          2015-11-30 13:50:47,019 ERROR sma sma: establishing connection to inverter failed - 'NoneType' object is not subscriptable -- __init__.py:run:260
          woran liegt's ?
          mit der Release Version ist der ERROR nicht gekommen, die gleichen WARNINGS hat er aber jede Minute wiederholt.
          könnte das log noch mal reproduzieren, wenn erforderlich.

          Gruß Wil

          Kommentar


            #80
            whe:

            Hast du in den Zeilen https://github.com/robert-budde/smar..._.py#L429-L431 etwas verändert, z.B. das "return None" rausgenommen? Weil eigentlich kann ich mir den Programmablauf so gar nicht erklären. Falls nicht, kann man diese Zeilen auch mal zur Probe komplett auskommentieren.

            Grüße
            Robert

            Kommentar


              #81
              danke, habe die Zeilen jetzt auskommentiert und es geht weiter:
              im log finde ich jetzt folgendes:
              Code:
               2015-11-30 20:30:00,487 WARNING sma sma: no SMANET2 msg -- __init__.py:_recv_smanet2_msg:466
                2015-11-30 20:30:00,495 WARNING sma sma: recv: len=115 / data=[0x00 0x00 0x00 0x00 0x00 0x00 0x0e 0x2a 0x1d 0x25 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7e 0xff 0x03 0x60 0x65 0x7d 0x33 0x80 0x82 0xe3 0x2b 0x25 0x80 0x00 0x00 0x00 0x66 0x00 0xc7 0x1e 0x22 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x80 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x66 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x28 0x00 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xae 0xbe 0x7e] -- __init__.py:_recv_smanet2_msg:467
                2015-11-30 20:30:00,593 INFO sma sma: inverter serial = 170008263 -- __init__.py:_inv_login:626
                2015-11-30 20:30:00,598 DEBUG sma Item Wechselrichter.MAC_Adresse = 00:80:25:2B:E3:82 via SMA 170008263 None -- item.py:__update:363
                2015-11-30 20:30:00,611 DEBUG sma Item Wechselrichter.Seriennummer = 170008263 via SMA 170008263 None -- item.py:__update:363
                2015-11-30 20:30:00,620 INFO Main knx: 0.0.0 set 5/1/5 to 30303a38303a32353a32423a4533 -- __init__.py:parse_telegram:181
                2015-11-30 20:30:00,631 DEBUG sma SMA next time: 2015-11-30 20:30:11+01:00 -- scheduler.py:_next_time:289
                2015-11-30 20:30:00,638 INFO Main knx: 0.0.0 set 5/1/4 to 0a221ec7 -- __init__.py:parse_telegram:181
                2015-11-30 20:30:00,672 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,679 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,686 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,693 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,699 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,769 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:00,776 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
              die Seriennummer liefert er jetzt, aber dann kommen jede Minute die gleichen Meldungen:

              Code:
               2015-11-30 20:30:13,613 INFO Test SMA SN: 170008263 -- test.py:<module>:10
                2015-11-30 20:30:13,616 INFO Test SMA Tag: 0 -- test.py:<module>:11
                2015-11-30 20:30:13,620 INFO Test SMA Gesamt: 0 -- test.py:<module>:12
                2015-11-30 20:30:13,844 DEBUG Scheduler Test next time: 2015-11-30 21:30:13+01:00 -- scheduler.py:_next_time:289
                2015-11-30 20:30:15,688 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:30,659 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:30,667 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:30,673 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:30:55,645 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:31:00,643 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:31:11,486 INFO sma sma: inverters returns "no new data" in id range from 0x263f00 to 0x263fff -- __init__.py:run:352
                2015-11-30 20:31:11,535 INFO sma sma: inverters returns "no new data" in id range from 0x260100 to 0x2622ff -- __init__.py:run:352
                2015-11-30 20:31:11,941 DEBUG Scheduler SMA next time: 2015-11-30 20:32:11+01:00 -- scheduler.py:_next_time:289
                2015-11-30 20:31:15,677 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:31:29,213 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:31:30,679 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:31:55,652 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:32:00,675 WARNING sma sma: rx: unknown src addr -- __init__.py:_recv_smanet1_msg:427
                2015-11-30 20:32:11,135 INFO sma sma: inverters returns "no new data" in id range from 0x263f00 to 0x263fff -- __init__.py:run:352
                2015-11-30 20:32:11,194 INFO sma sma: inverters returns "no new data" in id range from 0x260100 to 0x2622ff -- __init__.py:run:352
              liegt es an dem schon etwas älteren Wechselrichter ?

              Gruß Wil

              Kommentar


                #82
                Hi Robert,

                meine Items sind vielleicht auch noch wichtig.
                dass die Kommunikation über einen Repeater erfolgt, sollte die Geschichte nicht beeinflussen. schließlich kann ich die Daten mit dem Sunny Explorer einwandfrei auslesen.

                Gruß Wil

                Code:
                 [Wechselrichter]
                  [[Einspeiseleistung]]
                  type = num
                  visu = yes
                  sqlite = yes 
                  sma = "AC_P_TOTAL"
                  knx_dpt = 12
                  knx_send = 5/1/1
                  knx_reply = 5/1/1
                  [[Tagesertrag]]
                  type = num
                  visu = yes
                  sqlite = yes 
                  sma = "E_DAY"
                  knx_dpt = 12
                  knx_send = 5/1/2
                  knx_reply = 5/1/2
                  [[Gesamtertrag]]
                  type = num
                  visu = yes
                  sqlite = yes 
                  sma = "E_TOTAL"
                  knx_dpt = 12
                  knx_send = 5/1/3
                  knx_reply = 5/1/3
                  [[Seriennummer]]
                  type = num
                  visu = yes
                  sma = "INV_SERIAL"
                  knx_dpt = 12
                  knx_send = 5/1/4
                  knx_reply = 5/1/4
                  [[MAC_Adresse]]
                  type = str
                  visu = yes
                  sma = "INV_ADDRESS"
                  knx_dpt = 16000
                  knx_send = 5/1/5
                  knx_reply = 5/1/5
                  [[Letzte_Aktualisierung]]
                  type = str
                  visu = yes
                  sma = "LAST_UPDATE"
                  knx_dpt = 16000
                  knx_send = 5/1/6
                  knx_reply = 5/1/6

                Kommentar


                  #83
                  Hallo Robert,

                  ich bin auch mal wieder zum testen gekommen. Deine Hinweise haben nicht geholfen.

                  Ich habe auf dem Raspberry mal versuchsweise SBFspot installiert. Ich bekomme schon damit keine Bluetooth-Verbindung zum WR, kann aber alle Daten über die Netzwerkoption auslesen. Also habe ich smarthome.py mal unter Ubuntu auf meinem Notebook installiert und dort funktioniert das Plugin wie gewünscht (mit dem internen Bluetooth-Adapter). Der STP 5000TL-20 ist also kompatibel mit dem Plugin.

                  Ich habe offenbar ein Problem mit dem Raspberry und / oder dem Bluetooth-Stick. Obwohl der WR mit "hcitool scan" gefunden wird, kommt die Bluetoothverbindung nicht zu Stande.

                  By
                  Eiko

                  Kommentar


                    #84
                    Hallo Robert,

                    nach weiteren Tests befürchte ich, dass es doch am Repeater liegt.
                    die MAC Adresse die mein Bluetooth-Stick sieht ist die vom Repeater und die Seriennummer, die das PlugIn anzeigt auch, da klingen die Meldungen logisch.
                    Wie komme ich denn an den WR ? mittels MAC Adresse offenbar nicht.

                    weitere Frage: mein Sohn betreibt 2 Wechselrichter, wie kann ich denn beide in SH.py einbinden ?

                    Gruß Wil

                    Kommentar


                      #85
                      Zitat von whe Beitrag anzeigen
                      dass die Kommunikation über einen Repeater erfolgt, sollte die Geschichte nicht beeinflussen.
                      Doch, genau DAS tut es. Warum rücken die Leute mit solchen "unwichtigen" Details, die natürlich völlig von einer normalen Topologie abweichen, immer erst nach etlichen Posts raus? :-/

                      Wirf halt https://github.com/robert-budde/smar..._.py#L426-L428 auch noch raus. Vielleicht erweiter ich das Plugin um einen "Insane"-Mode, der einfach jegliche Plausiblitätsprüfungen missachtet...

                      Ansonsten weiß ich nicht wie der Repeater funktioniert - gucken ob SBFspot damit klar kommt. Ansonsten Repeater wegschmeißen und Beaglebone ( KEINEN Raspberry - siehe oben...) direkt am WR-Standort per BT Daten abrufen und auf den KNX legen lassen.

                      2 Wechselrichter: mit zwei Plugins. Zwei Instanzen ein und desselben Plugin werden afaik (noch) nicht unterstützt. Manche Plugins unterstützen mehrere Geräte, viele nicht. Ich habs halt nicht gebraucht. Nen guten Pull-Request akzeptiere ich aber sehr gerne.

                      Zitat von merkelnando Beitrag anzeigen
                      Ich habe auf dem Raspberry mal versuchsweise SBFspot installiert. Ich bekomme schon damit keine Bluetooth-Verbindung zum WR, kann aber alle Daten über die Netzwerkoption auslesen. Also habe ich smarthome.py mal unter Ubuntu auf meinem Notebook installiert und dort funktioniert das Plugin wie gewünscht (mit dem internen Bluetooth-Adapter). Der STP 5000TL-20 ist also kompatibel mit dem Plugin.

                      Ich habe offenbar ein Problem mit dem Raspberry und / oder dem Bluetooth-Stick. Obwohl der WR mit "hcitool scan" gefunden wird, kommt die Bluetoothverbindung nicht zu Stande.
                      Bestätigt meine Meinung zum Raspberry. Mal nen Beaglebone versuchen?

                      Grüße
                      Robert
                      Zuletzt geändert von Robert; 02.12.2015, 21:44.

                      Kommentar


                        #86
                        wir kommen der Sache schon näher:
                        Code:
                        2015-12-03 09:49:05,176 INFO sma sma: via bluetooth connected to 00:80:25:2B:E3:82 -- __init__.py:run:245
                        
                        2015-12-03 09:49:05,302 INFO sma sma: own bluetooth address: 00:80:25:1d:2a:0e -- __init__.py:_inv_connect:553
                        
                        2015-12-03 09:49:05,383 WARNING sma sma: no SMANET2 msg -- __init__.py:_recv_smanet2_msg:466
                        
                        2015-12-03 09:49:05,390 WARNING sma sma: recv: len=115 / data=[0x00 0x00 0x00 0x00 0x00 0x00 0x0e 0x2a 0x1d 0x25 0x80 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7e 0xff 0x03 0x60 0x65 0x7d 0x33 0x80 0x82 0xe3 0x2b 0x25 0x80 0x00 0x00 0x00 0x66 0x00 0xc7 0x1e 0x22 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x80 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x66 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x28 0x00 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xae 0xbe 0x7e] -- __init__.py:_recv_smanet2_msg:467
                        
                        2015-12-03 09:49:05,453 INFO sma sma: inverter serial = 170008263 -- __init__.py:_inv_login:626
                        
                        2015-12-03 09:49:05,459 DEBUG sma Item Wechselrichter.MAC_Adresse = 00:80:25:2B:E3:82 via SMA 170008263 None -- item.py:__update:363
                        
                        2015-12-03 09:49:05,474 DEBUG sma Item Wechselrichter.Seriennummer = 170008263 via SMA 170008263 None -- item.py:__update:363
                        
                        2015-12-03 09:49:05,482 INFO Main knx: 0.0.0 set 5/1/5 to 30303a38303a32353a32423a4533 -- __init__.py:parse_telegram:181
                        
                        2015-12-03 09:49:05,491 DEBUG sma sma: requesting 0x214800-0x2148ff... -- __init__.py:_inv_send_request:649
                        
                        2015-12-03 09:49:05,500 INFO Main knx: 0.0.0 set 5/1/4 to 0a221ec7 -- __init__.py:parse_telegram:181
                        
                        2015-12-03 09:49:05,572 INFO sma sma: inverter timestamp = 1449132545s / host timestamp = 1449132545s / diff = 0s -- __init__.py:run:275
                        
                        2015-12-03 09:49:05,579 DEBUG sma SMA next time: 2015-12-03 09:49:16+01:00 -- scheduler.py:_next_time:289
                        
                        2015-12-03 09:49:07,585 DEBUG sma sma: no msg... -- __init__.py:run:314
                        der Inverter hat aber eine andere Seriennummer. 170008263 ist die vom Repeater.
                        Daten gibt es aber noch immer keine, welche Prüfungen kann ich denn noch auskommentieren ?

                        Gruß Wil

                        Kommentar


                          #87
                          Hallo Robert,

                          als Anlage schicke ich Dir jetzt mal ein komplettes log, nachdem ich die Umgebung etwas abgespeckt habe.
                          gerne teste ich das am Wochenende auch mal bei meinem Sohn, da hängt der WR neben dem Raspberry.

                          Gruß Wil

                          smarthome.zip

                          Kommentar


                            #88
                            Hallo Robert,

                            es würde mich freuen, wenn Du diese Geschichte zum Laufen bringen könntest; was kann ich denn tun um Dich zu unterstützen ?

                            auch die Sache bei meinem Sohn mit 2 Wechselrichtern sollte doch lösbar sein.
                            kann ich den SMA Plugin nicht zweimal starten ? und unterschiedliche MAC Adressen angeben?

                            Gruß Wil

                            Kommentar


                              #89
                              Hallo,

                              bei mir lag es letztendlich am USB Bluetooth Stick. Dieser war scheinbar zu alt (ich hatte den noch hier rumliegen) und funktionierte auch nicht am Ubuntu-Rechner mit dem WR. Der WR wurde zwar erkannt, aber die Verbindung wurde nicht aufgebaut.

                              Mit einem aktuellen Stick funktioniert das Plugin seit heute auf dem Raspberry Pi2 mit dem STP5000TL-20.

                              Vielen Dank.

                              Eiko

                              Kommentar


                                #90
                                Zitat von merkelnando Beitrag anzeigen
                                Hallo,

                                bei mir lag es letztendlich am USB Bluetooth Stick. Dieser war scheinbar zu alt (ich hatte den noch hier rumliegen) und funktionierte auch nicht am Ubuntu-Rechner mit dem WR. Der WR wurde zwar erkannt, aber die Verbindung wurde nicht aufgebaut.

                                Mit einem aktuellen Stick funktioniert das Plugin seit heute auf dem Raspberry Pi2 mit dem STP5000TL-20.

                                Vielen Dank.

                                Eiko
                                Hallo Eiko,

                                kannst Du mir dann bitte sagen, welchen Bluetooth Stick Du jetzt verwendest.
                                Falls es noch andere Einflussfaktoren gibt: Du nutzt einen Raspberry Pi 2 mit welcher Kernel Version ?
                                Ich musst auf dem Pi 2 meines Sohnes den Kernel auf 4.1. upgraden, damit das Bluetooth überhaupt geht.
                                ich kriege beim Connect nur Seriennummer und MAC-Adresse zurück, Daten kriegen ich mit meinem Stick keine.

                                Gruß Wil

                                Kommentar

                                Lädt...
                                X