Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

Neues Plugin für Solaredge Wechselrichter / Sunspec in Arbeit

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

    #16
    Siehe Post #1, Link klappt gerade nicht
    Zuletzt geändert von boardman; 28.06.2017, 18:16.

    Kommentar


      #17
      Sorry, in der Anleitung vergessen, man mus Pymodbusinstallieren siehe hier:

      meine links gehen alle kaputt, dann als Text:
      https://knx-user-forum.de/forum/supp...09#post1104709

      Kommentar


        #18
        Was muss ich denn in der plugin.conf eintragen ?

        Kommentar


          #19
          Habs gefunden...

          Kommentar


            #20
            gut, hab alles reingepackt, die Stromwerte pro Phase hab ich noch nicht implementiert - hielt ich für überflüssig, wenn noch was ist melde dich...

            Kommentar


              #21
              Bekomme immer den folgenden Fehler im Log
              1. 2017-07-01 12:06:09 ERROR Solaredge Solaredge: something went wrong in the refresh function: 'NoneType' object has no attribute 'getRegister'

              Kommentar


                #22
                Hi, das ist ein Fehler der ab und an mal bei mir kommt ( idR am Anfang) laut diversen Beiträgen ggf ein pymodbus Problem, aber wenn man länger laufen lässt sollte es dann funktionieren...???
                Wenn es gar nicht geht dann eventuell wirklich ein Kommunikationsproblem... hast du mal geprüft ob die Adressierung passt? +-1?
                ichhabe z.B. ein Offset beim Inverter, aber keines beim Modbuszähler:

                Code:
                    # dictionary for modbus registers
                    _modbusRegisterDic = {
                       'C_Version'      : 40044,                      # 40045: CPU Software Version  
                       'C_SerialNumber' : 40052,                      # 40053: SolarEdge Serial Number  
                       'I_AC_Power'     : 40083,                      # 40084: AC Power Value  
                       'I_AC_Power_SF'  : 40084,                      # 40085: AC Power Scale Factor  
                       'I_AC_Energy_WH' : 40093,                      # 40094: AC Lifetime Energy production  
                       'I_AC_Energy_SF' : 40095,                      # 40096: AC Lifetime Energy Scale Factor  
                       'I_DC_Power'     : 40100,                      # 40101: DC Power value
                       'I_DC_Power_SF'  : 40101,                      # 40102: DC Power Scale Factor
                       'I_Temp_Sink'    : 40103,                      # 40104: Heat Sink Temperature
                       'I_Temp_Sink_SF' : 40106,                      # 40107: Heat Sink Scale Factor
                       'I_Status'       : 40107,                      # 40108: Operating Status
                       'I_Status_Vendor': 40108,                      # 40109: Vendor Status-> see manual
                
                # Modbus Zähler ohne offset!
                       'M_AC_Power'     : 40206,                      # 40206: Total Real Power
                       'M_AC_Power_A'   : 40207,                      # 40207: Phase A AC Real Power
                       'M_AC_Power_B'   : 40208,                      # 40208: Phase B AC Real Power
                       'M_AC_Power_C'   : 40209,                      # 40209: Phase C AC Real Power
                       'M_AC_Power_SF'  : 40210,                      # 40210: AC Real Power Scale Factor
                       'M_Exported'     : 40226,                      # 40226: Total Exportet real Energy
                       'M_Imported'     : 40234,                      # 40234: Total Importet Energy
                       'M_Energy_W_SF'  : 40242                       # 40242: Re Energy Scale Factor
                    }

                Kommentar


                  #23
                  Zitat von boardman Beitrag anzeigen
                  hast du mal geprüft ob die Adressierung passt? +-1?
                  Welche Adresse meinst du damit? IP? die passt...

                  Kommentar


                    #24
                    Ich meine die Register s.o. hab dir gerade ein testscript geschickt, damit geht das testen wohl schneller

                    Kommentar


                      #25
                      Habe es endlich geschafft einen korrekten Wert aus meinem SMA-WR zu lesen!

                      Habe dafür folgende Anpassungen gemacht:

                      Code:
                        
                       _modbusRegisterDic = {
                             'I_AC_Energy'    : 40209                      # 40210: Total Energy
                          }
                      
                      ....
                      
                                      if values == self._modbusRegisterDic['I_AC_Energy']:
                                          #logger.debug("Solaredge: SerialNumber {0}".format(registerValue))
                                          result = self._Solaredge.read_holding_registers(values, 3, unit=126) # Value + ScaleFaktor
                                          decoder = BinaryPayloadDecoder.fromRegisters(result.registers, endian=Endian.Big)
                                          decoded = {
                                              'value': decoder.decode_32bit_uint(),
                                              'sf': decoder.decode_16bit_uint(),
                                          }
                                          registerValue = decoded.get("value") * 10 ** decoded.get("sf")
                                          # logger.debug("Solaredge: Tempertur: {0}".format(registerValue))
                                          item(registerValue, 'Solaredge')
                      Scheinbar braucht SMA für SUnSpec eine unit id von 126.

                      Dann gilt die folgende Tabelle:
                      40188 A AC Current uint16 RO
                      40189 AphA Phase A Current int16 RO
                      40190 AphB Phase B Current int16 RO
                      40191 AphC Phase C Current int16 RO
                      40192 A_SF int16 RO
                      40196 PhVphA Phase Voltage AN uint16 RO
                      40197 PhVphB Phase Voltage BN uint16 RO
                      40198 PhVphC Phase Voltage CN uint16 RO
                      40199 V_SF int16 RO
                      40200 W AC Power int16 RO
                      40201 W_SF int16 RO
                      40202 Hz Line Frequency uint16 RO
                      40203 Hz_SF int16 RO
                      40204 VA AC Apparent Power int16 RO
                      40205 VA_SF int16 RO
                      40206 VAr AC Reactive Power int16 RO
                      40207 VAr_SF int16 RO
                      40208 PF AC Power Factor int16 RO
                      40209 PF_SF int16 RO
                      40210 WH AC Energy acc32 RO
                      Großes Dankeschön an Boardman für die Unterstüzung.

                      Das Dokument hat mit auch noch ganz gut geholfen:

                      http://www.sma-sunny.com/so-testet-i...echselrichter/

                      Ich werde jetzt erweitern, damit ich mehr Werte rein bekomme...

                      Falls später einer Interesse hat an einer Sonderlösung für SMA bitte melden...
                      Zuletzt geändert von android; 06.07.2017, 21:25.

                      Kommentar


                        #26
                        android ja ich hätte interesse!

                        Kommentar


                          #27
                          Super das es geklappt hat.. ich weiß nun nicht ob das eher ein weiteres Plugin gibt oder ob wir das alles zusammen packen können... die Abweichungen sind wahrscheinlich zu groß um es in der selben Config abzubilden... Aber wenn ich irgendwas im ersten Post ergänzen soll, dann mach ich das gerne...

                          Kommentar


                            #28
                            Hi wofür ist die Zeile 173
                            Code:
                                            registerValue = self._Solaredge.read_holding_registers(values, read_qty = 1, unit = 1).getRegister(0)
                            gut?

                            Wenn ich da eine unit id von 126 einstelle, funktionieren manche Ids und manche wiederum nicht?
                            Warum wird immer vor der Abfrage des aktuellen Keys gelesen?

                            Kommentar


                              #29
                              Du hast recht, da ssit nicht mehr optimal...
                              das war früher der Hauptleseteil - wird nun nur noch hierfür benötigt, da da der read fehlt:
                              Code:
                                              if values == self._modbusRegisterDic['I_Status']:
                                                  # logger.debug("Solaredge: Status: {0}".format(registerValue))
                                                  item(registerValue, 'Solaredge')
                              Ich denke den kann man oben wegnehmen und unten bei den paar ergänzen - ich lese ja mittlerweiel bei den meisten eh nach...
                              ich bau das morgen mal um...
                              (hatte ich so vom Pluggit übernommen)

                              Kommentar


                                #30
                                So ich hab meine Dateien mal überarbeitet und oben neu eingestellt - bei mir läuft das sehr stabil - incl. Verbindung zum WR

                                Kommentar

                                Lädt...
                                X