Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19002360​ Kostal Plenticore ModbusTCP - Erweiterung

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

    [Featurewunsch] LBS 19002360​ Kostal Plenticore ModbusTCP - Erweiterung

    Hallo zusammen
    ich möchte gerne den o.g LBS erweitern und hatte schon Kontakt mit Stefan aufgenommen, der hat mir den ersten Hinweis gegeben. Der LBS ist unter

    https://github.com/bluegaspode/edomi...002360_lbs.php zu sehen.

    Die Spek. des Modbus vom Plenticore anbei hier:
    https://www.kostal-solar-electric.co...pec_hybrid.pdf

    Ich würde gerne das LBS erweitern damit ich hier das Battey Managment von Edomi aus steuern kann. Anschließend werde ich versuchen mit dem LBS Modbus TCP Master Write das jeweilige Setting vorzunehmen.

    PHP-Code:
    // modbus doc https://www.photovoltaikforum.com/core/attachment/81082-ba-kostal-interface-modbus-tcp-sunspec-pdf/
            
    $recData56 $modbus->readMultipleRegisters(71561);
            
    $recData100 $modbus->readMultipleRegisters(71100100);
            
    $recData200 $modbus->readMultipleRegisters(71200100);
            
    $recData320 $modbus->readMultipleRegisters(713208);
            
    $recData575 $modbus->readMultipleRegisters(715758);

           
    //Anbei meine Ergänzung: Würde gerne die Register von 1024 - 1082 auslesen :Kapitel 3.4 in der Spek./
           
    $recData1000 $modbus->readMultipleRegisters(71100082);  // ob dies so Richtig weiß ich nicht genau:  / 
    Jetzt habe ich den Ausgang versucht zu erweitern :

    PHP-Code:
    [a#60 = --- Battery --- ]
            
    [a#61 = Act. state of charge (%) ]
            
    [a#62 = Battery charge current (DC) setpoint, relative Note​ (W) ]
    */

            
    readLogAndSaveFloat($id210"Act. state of charge (%)"61$recData200200);
          
            
    // Ergänzt /
            
    readLogAndSaveFloat($id1028"Battery charge current (DC) setpoint"62$recData10001000); 
    und soweiter. Ich habe es mal versucht zu ändern, aber dann funktionierten die anderen Ausgänge zum Teil nicht mehr (In DEF oben habe ich den Ausgang natürlich auch hinzu gefügt. )

    Anbei noch die Bemerkung von Stefan:
    HTML-Code:
    die erste Hälfte is richtig, damit hast du schonmal zwei neue Ausgänge.
    
    das readLogAndSaveFloat kan so nicht klappen.
    
    Du hast weiter oben im Script diese $recData100, $recData200, .... welche den Modbus immer an einer bestimmten Stelle mit einer bestimmten Menge an Daten ausliest.
    https://github.com/bluegaspode/edomi...#L201C9-L201C9
    
    in $recData200 sind genau 100 Bytes ab Stelle 200, das heißt, du kannst damit nur Register 200-299 auslesen.
    
    Im Grunde müsstest du eine neue Zeile dorthin machen:
    $recData1000 = $modbus->readMultipleRegisters(71, 1000, 68);
    
    um 68 Bytes ab Stelle 1000 zu lesen.
    
    dann müsste
    readLogAndSaveFloat($id, 1048, "Total DC discharge energy (DC-side) (Wh)", 62, $recData1000, 1000);​
    
    funktionieren (auf geändert Variable und auch geänderten Startpunkt => 1000) achten.
    
    Mach mal wirklich einen Thread im Forum auf, verweise dort auch auf den SourceCode, damit Leute schnell einen Überblick bekommen: https://github.com/bluegaspode/edomi...002360_lbs.php
    
    Grüße
    Stefan​

    What's worng?

    Vielen Danke
    Gruß
    Kalla​
    Zuletzt geändert von Kalla; 13.09.2023, 07:42.
Lädt...
X