Ankündigung

Einklappen
Keine Ankündigung bisher.

KACO Powador WR an Callidomus

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

    [callidomus] KACO Powador WR an Callidomus

    Hi,

    falls einer einen Kaco Powador WR hat kann er den einfach mit folgenden kleinen Script an Callidomus anschließen.

    Code der als Logik von Callidomus zyklisch Aufgerufen werden muss (bei mir alle 60s)
    Code:
    #Daten von WR Runterladen
    #content = "1455356432;24214;26711;9590;9560;9595;142;151;372;376;361;356;3210;4";
    content = cd.tools.fetch_url( "http://192.168.102.33/realtime.csv").decode()
    data = content.split(";", 14 )
    
    cd.Kaco.Powador12TL3.Timestamp( data[0] )
    cd.Kaco.Powador12TL3.GenVoltage1( float(data[1]) / ( 65535.0/1600.0))
    cd.Kaco.Powador12TL3.GenVoltage2( float(data[2]) / ( 65535.0/1600.0))
    cd.Kaco.Powador12TL3.GridVoltage1( float(data[3])/ ( 65535.0/1600.0))
    cd.Kaco.Powador12TL3.GridVoltage2( float(data[4])/ ( 65535.0/1600.0)) 
    cd.Kaco.Powador12TL3.GridVoltage3( float(data[5])/ ( 65535.0/1600.0))
    cd.Kaco.Powador12TL3.GenCurrent1( float(data[6]) / ( 65535.0/200.0))
    cd.Kaco.Powador12TL3.GenCurrent2( float(data[7]) / ( 65535.0/200.0))
    cd.Kaco.Powador12TL3.GridCurrent1( float(data[8]) / ( 65535.0/200.0))
    cd.Kaco.Powador12TL3.GridCurrent2( float(data[9]) / ( 65535.0/200.0))
    cd.Kaco.Powador12TL3.GridCurrent3( float(data[10]) / ( 65535.0/200.0))
    cd.Kaco.Powador12TL3.PowerDC( float(data[11]) / (65535.0 / 100000.0))
    cd.Kaco.Powador12TL3.Status( data[13])
    cd.Kaco.Powador12TL3.PowerDC1( cd.Kaco.Powador12TL3.GenVoltage1() * cd.Kaco.Powador12TL3.GenCurrent1() )
    cd.Kaco.Powador12TL3.PowerDC2( cd.Kaco.Powador12TL3.GenVoltage2() * cd.Kaco.Powador12TL3.GenCurrent2() )
    Die Folgenden Items müssen Manuell dazu angelegt werden.
    I
    Code:
    tems:
    ======
    Kaco -> Ordner
    Kaco.Powador12TL3 -> Ordner
    Kaco.Powador12TL3.GenCurrent1 -> Type Num, Aufzeichen an, Einheit Ampere
    Kaco.Powador12TL3.GenCurrent2 -> Type Num, Aufzeichen an, Einheit Ampere
    Kaco.Powador12TL3.GenVoltage1 -> Type Num, Aufzeichen an, Einheit Volt
    Kaco.Powador12TL3.GenVoltage2 -> Type Num, Aufzeichen an, Einheit Volt
    Kaco.Powador12TL3.GridCurrent1 -> Type Num, Aufzeichen an, Einheit Ampere
    Kaco.Powador12TL3.GridCurrent2 -> Type Num, Aufzeichen an, Einheit Ampere
    Kaco.Powador12TL3.GridCurrent3 -> Type Num, Aufzeichen an, Einheit Ampere
    Kaco.Powador12TL3.GridVoltage1 -> Type Num, Aufzeichen an, Einheit Volt
    Kaco.Powador12TL3.GridVoltage2 -> Type Num, Aufzeichen an, Einheit Volt
    Kaco.Powador12TL3.GridVoltage3 -> Type Num, Aufzeichen an, Einheit Volt
    Kaco.Powador12TL3.PowerDC -> Type Num, Aufzeichen an, Einheit Watt
    Kaco.Powador12TL3.PowerDC1 -> Type Num, Aufzeichen an, Einheit Watt
    Kaco.Powador12TL3.PowerDC2 -> Type Num, Aufzeichen an, Einheit Watt
    Kaco.Powador12TL3.Status -> Type Num, Aufzeichen an
    Kaco.Powador12TL3.Timestamp  -> Type Str
    Todo:
    Bei Änderung des Statuses muss eine weiter Logick angeworfen werden die diesen Auswertet.

    Viele Grüsse
    Jürgen

    #2
    Hm. Diese Item-Struktur würde nur einen einzigen Wechselrichter einzubinden ermöglichen, richtig?

    Kommentar


      #3
      Zitat von trollvottel Beitrag anzeigen
      Hm. Diese Item-Struktur würde nur einen einzigen Wechselrichter einzubinden ermöglichen, richtig?
      JA, Wieviele Wechselrichter hast du den? Ich bin für Verbesserungsvorschläge offen....

      Kommentar


        #4
        Gar keinen, ist mir nur aufgefallen. Vielleicht sowas wie "kaco.Powador12TL3.$n -> Ordner" besser als Beispiel?

        Kommentar


          #5
          Das umbenen ändert gar nix an dem Problem. Wenn du mir wie einen hast kannst du dir auch was richtiges kaufen wie solarlog oder solarview oder das script kopieren und anpassen.

          Aber rein interressehalber würde ich es schon interressieren wie man das instancefähig machen könnte.

          VG
          Jürgen

          Kommentar


            #6
            Hallo Jürgen,

            Zitat von heckmannju Beitrag anzeigen
            Aber rein interressehalber würde ich es schon interressieren wie man das instancefähig machen könnte.
            in etwa so:

            Code:
            def update_wr(item, data):
                item.Timestamp( data[0] )
                item.GenVoltage1( float(data[1]) / ( 65535.0/1600.0))
                item.GenVoltage2( float(data[2]) / ( 65535.0/1600.0))
                item.GridVoltage1( float(data[3])/ ( 65535.0/1600.0))
                item.GridVoltage2( float(data[4])/ ( 65535.0/1600.0)).
                item.GridVoltage3( float(data[5])/ ( 65535.0/1600.0))
                item.GenCurrent1( float(data[6]) / ( 65535.0/200.0))
                item.GenCurrent2( float(data[7]) / ( 65535.0/200.0))
                item.GridCurrent1( float(data[8]) / ( 65535.0/200.0))
                item.GridCurrent2( float(data[9]) / ( 65535.0/200.0))
                item.GridCurrent3( float(data[10]) / ( 65535.0/200.0))
                item.PowerDC( float(data[11]) / (65535.0 / 100000.0))
                item.Status( data[13])
                item.PowerDC1( item.GenVoltage1() * item.GenCurrent1() )
                item.PowerDC2( item.GenVoltage2() * item.GenCurrent2() )
            
            update_wr(cd.Kaco.Powador12TL3, data)
            Bis bald

            Marcus

            Kommentar


              #7
              Hi,

              nicht ganz. Das Skript funktioniert immer noch nur mit einem Wechselrichter wenn ich mehr will muss ich es ändern. Schätze mal das man das mit Atributen und einem weiteren item wo die ip drin steht hin bekommt.

              VG
              Jürgen

              Kommentar


                #8
                Hallo Jürgen,

                wo ist denn die Definition der relatime.csv her? Auf die Schnelle habe ich dazu nichts gefunden. Gibt es da etwas offizielles?

                Ich bin gerade am Dokumentieren der Plugin Entwicklung. Vielleicht schreibe ich Dir dafür einfach ein Plugin und nehme es als Beispiel. Das ist ingesamt sehr einfach.

                Bis bald

                Marcus

                Kommentar


                  #9
                  Hi Marcus,

                  Ich habe mir halt die Webseite die der Wechselrichter ausliefert angesehen. Der hat auch ein JS Datei mitgeschickt die erklärt wie die Zeile sich zusammensetzt. Offiziell wirst du da nix finden bzw. ich habe auch nix gefunden. Ich bin auch nocht nicht Fertig es gibt da auch noch eine oder zwei weiter Datei die interessant ist die man auch noch auslesen müsste. Da wird der Tagesertrag mitprotokolliert und die Temperatur vom WR mitprotokoliert.

                  Viele Grüsse
                  Jürgen



                  Kommentar


                    #10
                    Hallo Jürgen,

                    was stecken den für Werte hinter: Kaco.Powador12TL3.GenVoltage1 und Kaco.Powador12TL3.GenVoltage2?
                    Sind das 230 V AC?
                    Oder ist das DC?

                    Bis bald
                    Marcus

                    Kommentar


                      #11
                      Hi,

                      das ist ein Wechselrichter mit 2 Strings da kommt also 2 mal Gleichstrom an GenVoltage1 und 2. Er speist mit 3 Phasen GridVoltage 1-3 in das Netz ein. (~230V AC)

                      beim Wert PowerDC bin ich mir nicht sicher ob es Grid oder Gen ist.....

                      Viele Grüsse
                      Jürgen
                      Zuletzt geändert von heckmannju; 08.07.2016, 16:06.

                      Kommentar


                        #12
                        Hallo Jürgen,

                        in Testing ist jetzt das Kaco Plugin verfügbar. Das Einrichten sollte auch ohne Doku klappen. Ich habe selbsterklärende Begriffe verwendet.

                        Code:
                        callidomus.core update
                        callidomus.gui build
                        Bitte testen und Feedback geben.

                        Bis bald

                        Marcus
                        Zuletzt geändert von callidomus; 08.07.2016, 17:23.

                        Kommentar


                          #13
                          Hallo Jürgen,

                          kannst du mir bitte noch den Typ/Baujahr verraten?

                          Danke

                          Marcus

                          Kommentar


                            #14
                            Hi,

                            Es kommt zu dem Fehler:

                            Code:
                            cmd":"series","sid":"Kaco.Powador12TL3.PowerDC2:avg:1h:now"}'
                            2016-07-08 20:18:00 DEBUG    Scheduler    Item location.time = 2016-07-08 20:18:00.093338+02:00 via Logic None None
                            2016-07-08 20:18:28 WARNING  _kaco_wr     Kaco WR: could not fetch csv: 'Kaco' object has no attribute '_core'
                            2016-07-08 20:18:34 DEBUG    _stat        Item core.runtime = 918 via Logic None None
                            5min ist mir zu lange zu warten. Zumindest beim Testen.

                            VG Jürgen

                            Kommentar


                              #15
                              Hallo Jürgen,

                              danke, habe ich gefixt und die Zeit auf bis zu 10 Sekunden reduziert.

                              Code:
                              callidomus.core update
                              callidomus.core restart
                              callidomus.gui build
                              Bis bald

                              Marcus

                              Kommentar

                              Lädt...
                              X