SDM630 Modbus V3 auslesen

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

Antworten
Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 9 Mal
Danksagung erhalten: 7 Mal

SDM630 Modbus V3 auslesen

Beitrag von Janniman »

Moin.

Zu meiner bevorstehenden Heizung sind die Elektroinstallationen vorgenommen worden. Im Verteilerschrank wurde auch der noben genannte Zähler verbaut. Die in einer Stromunterverteilung (nicht separater Unterverteilung) im Heizungsraum. Der Zähler braucht keinen gesamten Hausstrom (da ich noch den KSEM und den EVU-Zähler befragen kann) und soll wegen Abrechnungsaufgaben (Vermietung) nur den Strombedarf der Heizung protokollieren. Deshalb wird der Zähler auch nicht an einen WR o.Ä. gekoppelt. Ich habe mich gestern damit herumgeschlagen den Zähler am Raspi auszulesen und kann nun in Node Red problemlos alle Werte auslesen.
Der Zähler läuft mit 9600 bps (Voreinstellung) und der Stick:

Code: Alles auswählen

stty -a -F /dev/ttyUSB1
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>;
start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel
-iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke -flusho
Wie geschrieben geht es mit Node Red. Klar habe ich auch gelesen, dass das Teil am liebsten mit 19200bps betrieben werden soll, aber die Vorgaben bei den Teilen war eben 9600pbs, deshalb habe ich es so belassen.
Muss ich denn nun die Node Red -Flows deaktivieren, damit Solaranzeige das ganze lesen kann?

Das php.log zeigt keine Fehler, aber das solaranzeige.log:

Code: Alles auswählen

20.07. 13:25:46    -Verarbeitung von: '6.user.config.php'   Regler: 34
20.07. 13:25:46 +  -WR_ID: 01
20.07. 13:25:46 |------------   Start  SDM630_meter.php  ------------------------- 
20.07. 13:25:47    -Fehler! 
20.07. 13:25:47 |------------   Stop   SDM630_meter.php    ----------------------- 
20.07. 13:25:48    -Multi Regler Auslesen [Stop].
Hier die kopierte 6.user.config.php, die eventuell falsch eingestellt ist. Die serielle Geschwindigkeit wurde mit der Option auf 9600 geändert.

Code: Alles auswählen

<?php
/******************************************************************************
//  Hier werden die Kunden spezifischen Einstellungen         (c) U.Kunz  2016
//  vorgenommen, damit keine der Daten bei einem Softwareupdate
//  überspielt werden. Diese Datei bitte mit Vorsicht
//  ändern. Die Form und die Schreibweise darf in keinen Fällen
//  geändert werden. Weitere Hilfe finden Sie im FORUM   www.solaranzeige.de
//
//  Diese Datei ist hier zu finden:  /var/www/html/user.config.php
//
//
******************************************************************************/
//
/******************************************************************************
//  REGLER  und  WECHSELRICHTER       REGLER  und  WECHSELRICHTER      REGLER
******************************************************************************/
//  Diese Regler knnen derzeit mit der Software benutzt werden:
//
//  Welcher Regler wird benutzt?
//
//   1 = ivt-Hirschau Regler SCPlus oder SCDPlus
//
//   2 = Steca Regler Tarom 6000 und Tarom 4545
//
//   3 = Regler der Tracer Serie  z.B. Tracer2210A
//       mit RS-485 zu USB Anschlusskabel (MODBUS) (Unbedingt FTDI Chipsatz)
//
//   4 = BlueSolar oder SmartSolar Regler von Victron-energy mit
//       VE.Direkt zu USB Anschlusskabel
//       --------------------------------------------------------------------
//       [Im Moment noch nicht in Betrieb]
//       Zusätzlich kann ein MultiPlus Wechselrichter mit einem MK3 USB Kabel
//       angeschlossen werden.
//
//   5 = Micro Wechselrichter von AEconversion z.B. INV250-45
//       mit RS-485 zu USB Anschlusskabel   (Unbedingt FTDI Chipsatz)
//
//   6 = Victron BMV 7xx Batteriewächter
//       mit VE.direct zu USB Kabel
//
//   7 = Voltronic Geräte der Axpert Serie
//       Effekta Geräte der AX und HX Serie,
//       Steca Solarix PLI 5000-48,
//       InfiniSolar PIP Serie 3k,
//       MPPSolar PIP HSP/MSP , MS/MSX und MSD Serien
//       EAsun ISolar SPV SMV 1KVA-5KVA Inverter
//       EAsun IGrid VE
//       mit einfachem  USB Kabel (A und B Stecker)
//       (Kein Seriell zu USB Wandler!)
//
//   8 = InfiniSolar V Serie , MPP Solar HSE/MSE Serie und viele Baugleiche.
//       mit einfachem USB Kabel (A und B Stecker) (Kein Seriell zu USB Wandler!)
//
//   9 = MPPSolar MPI Hybrid Serie 3 Phasen Inverter
//       Baugleich: FSP 5,5 Hybrid und Panta 10 Hybrid
//       mit einfachem USB Kabel (A und B Stecker) (Kein Seriell zu USB Wandler!)
//
//  10 = SolarMax S-Serie
//       mit Ethernet (LAN) Kabel Anschluss.
//
//  11 = Phoenix Wechselrichter von Victron mit VE.direct Kabel Anschluss
//
//  12 = Fronius Symo Wechselrichter  inkl. Hybrid Geräte und Fronius Prymo
//       MIT Ethernet (LAN) Kabel Anschluss
//
//  13 = Joulie-16  Batterie-Management-System von AutarcTech  (BMS)
//       Mit LAN Anschluss
//
//  14 = Rover Laderegler von Renogy, Toyo von SRNE und baugleiche
//       mit USB Kabel Anschluss
//
//  15 = PYLONTECH US2000B Plus Batteriespeicher  Batterie-Management-System (BMS)
//       Mit Seriell zu USB Adapter. Den Console Port im Gerät benutzen.
//
//  16 = SolarEdge 3 Phasen Wechselrichter mit LAN Schnittstelle
//       (Für 1 Phasen Geräte muss das Dashboard geändert werden)
//
//  17 = KOSTAL Plenticore Wechselrichter und Pico der 3. Generation
//       mit LAN Schnittstelle
//
//  18 = S10E und S10 mini von E3/DC mit LAN Schnittstelle   (Port 502)
//       Nur im Simple-Mode möglich.
//
//  19 = eSmart3  Laderegler  40A, 50A, 60A
//
//  20 = SolarEdge 3 Phasen Wechselrichter ohne MODBUS Zähler
//       mit Ethernet (LAN) Kabel Anschluss.
//       (Für 1 Phasen Geräte muss das Dashboard geändert werden)
//
//  21 = KOSTAL Piko mit RS485 Anschluss
//       (in der user.config.php muss $WR_IP = "0.0.0.0"; stehen!)
//       Eine IP Adresse nur eintragen, wenn man den Piko über das LAN auslesen will.
//       Beim PIKO MP Plus in der user.config.php zusätzlich
//       $SerielleGeschwindigkeit = 38400;  eintragen.
//
//  22 = Smart Energy Meter von KOSTAL oder Anderen
//
//  23 = Sonoff / Shelly Relais:
//       Bei folgenden Relais muss der "DeviceName" wie folgt eingetragen sein:
//       Shelly 2.5    = "Shelly_2.5"
//       Shelly 1      = "Shelly_1"
//       Shelly 1PM    = "Shelly_1PM"
//       Sonnof POW R3 = "Sonoff_POW_R3"
//
//       Beispiel der Änderung:
//       Auf der Tasmota Konsole einfach    DeviceName Shelly_1    eingeben.
//
//  24 = Infini xx KW Hybrid Wechselrichter. Protokoll 16  1 Phase
//
//  25 = SonnenBatterie mit LAN Anschluss
//
//  26 = MPPSolar 5048MK und 5048GK ( PIP MK und GK Serie )
//       EAsun ISolar V III Off-Grid lnverter
//       sowie Baugleiche mit USB Anschluss
//
//  27 = SMA Wechselrichter Sunny Island und Sunny Tripower 
//       Modbus TCP mit LAN Anschluss
//
//  28 = HRDi marlec Laderegler für PV und Windgenerator
//       mit Seriell - USB Adapter
//
//  29 = go-e Charger  (Wallbox)
//
//  30 = Keba Wallbox  P20 + P30
//
//  31 = Shelly EM und Shelly 3EM
//
//  32 = KACO Wechselrichter der TL3 Serie
//
//  33 = Labornetzteil JOY-IT  JT-DPM8624
//
//  34 = SDM630  Energy Meter (RS485 Anschluss)
//
//  35 = Wallbe Wallbox  Eco 2.0 und andere.
//
//  36 = Delta Wechselrichter SI 2500  mit RS485 Anschluss
//
//  37 = Simple EVSE WiFi Wallbox
//
//  38 = ALPHA ESS T10  Wechselrichter + Batteriesystem
//
//  39 = openWB  Wallbox
//
//  40 = Phocos PH1800 Wechselrichter
//
//  41 = PylonTech US 3000 A mit RS485 Schnittstelle  Anz. Batterie-Packs auch angeben!
//
//  42 = PV18-3KW VHM oder PV1800 VHM oder Baugleiche mit RS485 Schnittstelle
//
//  43 = Senec Stromspeicher
//
//  44 = Webasto Wallbox
//
//  45 = Phocos Any-Grid mit RS232 zu USB Adapter
//
//  46 = Huawei SUN2000 Wechselrichter ältere Modelle bis Modell ID 100 (siehe Regler 56)
//
//  47 = Phoenix Contact Wallbox
//
//  48 = Growatt Wechselrichter
//
//  49 = Huawei SmartLogger  DTSU666
//
//  50 = SDM230 Zähler 1 Phase
//
//  51 = Siemens PAC2200 SmartMeter
//
//  52 = Goodwe Wechselrichter der Serien ES , EM und SBP (mit Batterie)
//
//  53 = Solarlog Pro 380 - Mod
//
//  54 = SMA Energy Meter 2.0
//
//  55 = Studer Xtender Wechselrichter inkl BSP
//
//  56 = Huawei SUN2000 Wechselrichter M0 , M1 und M2 Modelle
//
//  57 = Daly BMS China
//
//  58 = SolarEdge Ertragszähler WND-3Y400-MB
//
//  59 = EASUN POWER Solar Inverter 3KVA mit seriellem Anschluss
//
//  60 = Hardy Barth Wallbox
//
//  61 = SMARTPI Zähler
//
//  62 = Huawei Wechselrichter mit SDongle (LAN Anschluss)
//
//  63 = cFos Wallbox
//
//  64 = Goodwe Wechselrichter der Serien ET, EH, BH, BT
//
//  65 = RCT Wechselrichter 
//
//  66 = Kostal Piko CI
//
//  67 = Goodwe Wechselrichter XS Serie
//
//  68 = VARTA Pulse Neo
//
//  69 = Vestel Wallbox
//
//  70 = Sungrow Wechselrichter
//
//  71 = EASUN SMG II Wechselrichter
//
//  72 = HomeMatic Gaszähler (und andere Geräte. Siehe Homematic.pdf Dokument)
//
//  73 = SofarSolar Wechselrichter x.x KTL-X
//
//  74 = Carlo Gavazzi EM24 SmartMeter (Baugleich Victron EM24)
//
//  75 = Hager Meter (Stromzähler)
//
//  76 = Hoymiles Microwechselrichter
//
//  77 = AX Licom Box von Effekta
//
//  78 = Innogy Wallbox / Compleo Wallbox
//
//  79 = IAMMETER WEM3080T Stromzähler
//
//  80 = Solax X3 Wechselrichter
//
//  81 = my-PV  AC-THOR  und AC-THOR 9s
//
//  82 = Solis Wechselrichter
//
//  83 = JK-BMS (Batterie Management System)
//
//  84 = SofarSolar HYD Modelle 
//  ---------------------------------------------------------------------------
//
$Regler = "34";
//
/******************************************************************************
//  Raspberry Gerätenummer   Raspberry Gerätenummer   Raspberry Gerätenummer
//  Falls mehr als ein Gerät pro Raspberry betrieben wird.
//  Es ist die Reihenfolge der Geräte und taucht auch in der Nummerierung
//  der  x.user.config.php Dateien auf
******************************************************************************/
//  GeräteID bzw. GeräteNummer Muss gleich mit der x.user.config.php sein.
//  Bitte nur bei einer Multi-Regler-Version ändern.  [ 1 bis 6 ]
$GeraeteNummer = "6";
//
//  Bei einem Micro Wechselrichter von AEconversion oder LiCom Box von Effekta 
//  und anderen Geräten, die für den Zugang eine Seriennummer benötigen.
//  --------------------------------------------------------------------------
//  Z.B. Typ INV250-45 oder INV500-60 oder LiCom Box von Effekta
//  Steht auf dem Gerät! Ist 10 stellig. Serial-No. 0607600...
//  Bitte alle 10 Stellen hier eintragen.
//  Bei der AX LiCom Box von Effekta sind es 14 Stellen.
//  Bei den neuen AEconversion Geräten den Bootcode hier eintragen.
$Seriennummer = "0000000000";                 // Regler = "5"
//  Wird nur in seltenen Fällen gebraucht.
$Zugang_Kennwort = "";                        // wird zur Zeit nicht benutzt
//  Falls ein WLAN HF2211 serial   Gateway benutzt wird true eingeben
$HF2211 = false;
//
//  Nur bei PylonTech BMS US3000..       ($Regler = "41" )
//  und den neuen US2000C aus dem Jahr 2019 und später
//  Anzahl der vorhandenen Batteriepacks und Modell 2000 / 3000
//  -------------------------------------------------------------------
$Batteriepacks = "1"; //                                Regler = "41"
$PylonTech = "2000";  //                                Regler = "41"
//
//
//  Ethernet Kabelverbindung:          Local Area Network  (LAN)
//  Alle Geräte, die über das LAN angesprochen und ausgelesen werden,
//  oder ein Serial Device Server, wie z.B. der HF2211 oder der Elfin-EW11,
//  dazwischen geschaltet haben, bitte hier IP und Port eintragen und
//  falls erforderlich die Device ID. (Geräteadresse = WR_Adresse)
//  Die Geräte Adresse wird auch manchmal bei RS485 Verbindungen benutzt.
//  -------------------------------------------------------------------
//  Bitte die Daten aus dem Gerät übernehmen
//
$WR_IP = "0.0.0.0";  //  Keine führenden Nullen!  67.xx Ja!, 067.xx Nein!
$WR_Port = "12345";
$WR_Adresse = "01";   //  Achtung Adresse als Dezimalzahl eingeben / 1 bis 256
//                       Maximal "256" = Hex FF
/*****************************************************************************/
//
//
//  Bezeichnung des Objektes. Freie Wahl, maximal 15 Buchstaben.
$Objekt = "Heizung_SDM630";
//
//
/******************************************************************************
//  InfluxDB     InfluxDB     InfluxDB     InfluxDB     InfluxDB     InfluxDB
//  ***************************************************************************
//  Die Daten können jede Minute oder öfter an eine InfluxDB Datenbank
//  übertragen werden. Die Datenbank muss nur über das Netzwerk erreichbar
//  sein. Sie kann sich im lokalen Netz, im Intenet oder aber auch auf diesem
//  Raspberry befinden. Bitte lesen Sie auch das Dokument
//  "Solaranzeige + InfluxDB" welches Sie auf unserem Support Server finden.
******************************************************************************/
//  Sollen die Daten in die lokale Influx Datenbank geschrieben werden?
//  Für die lokale Datenbank sind keine weiteren Angaben nötig.
//  true oder false
$InfluxDB_local = true;
//
//  Name der lokalen Datenbank. Bitte nicht ändern, sonst funktionieren die
//  Standard Dashboards nicht!
//  ---  Nur bei Multi-Regler-Version  Nur bei Multi-Regler-Version  ----
//  Bei einer Muti-Regler-Version müssen hier unterschiedliche lokale
//  Datenbanknamen eingetragen werden. Mit gleichem Namen müssen die Datenbanken
//  in der InfluxDB angelegt werden. Siehe Dokument:
//  "Multi-Regler-Version Installation"
$InfluxDBLokal  = "homematic";
//
//  Wie oft pro Minute sollen die Daten ausgelesen und zur InfluxDB
//  übertragen werden?
//  Gültige Werte sind 1 bis 6 (6 = alle 10 Sekunden)
//  Bei einer zusätzlichen entfernten Datenbank kann das zu erheblichen
//  Traffic führen! Dieses gilt nur für die Single-Geräte-Version!
//  Wie es bei der Multi-Regler-Version funktioniert bitte in dem
//  entsprechenden Dokument nachlesen.
//  Default ist 1 (Ein mal pro Minute)
$Wiederholungen = 1;
//
/****************************************************************************/
//  ENTFERNTE INFLUX DATENBANK:
//  ---------------------------
//  Ist eine entfernte InfluxDB vorhanden und sollen dorthin auch die Daten
//  übertragen werden?
//  true oder false
$InfluxDB_remote = false;
//
//  Port an den die Daten geschickt werden. Normal ist Port 8086
$InfluxPort = 8086;
//
//  Name der entfernten Datenbank eintragen
//  Beispiel:  "solaranzeige" oder "MeineDatenbank"
$InfluxDBName  = "heizung";
//
//  Adresse der Datenbank
//  Entweder die IP Adresse "xxx.xxx.xxx.xxx" oder den Hostnamen oder "localhost"
//  eintragen.
//  Beispiel:  "db.solaranzeige.de" oder "34.101.3.20"
$InfluxAdresse = "";
//
//  Wenn man mit UserID und Kennwort die Daten übertragen möchte, sollte man
//  auf jeden Fall auch die SSL Verschlüsselung einschalten. Dazu muss die
//  Influx Datenbank aber erst auf https eingerichtet werden.
$InfluxSSL = false;
//
//  Wenn die entfernte Datenbank mit UserID und Kennwort geschützt ist.
//  Wenn nicht, bitte leer lassen.
$InfluxUser = "";
$InfluxPassword ="";
//
//  Sollen die Daten nur bei Tageslicht an eine remote Datenbank gesendet werden?
//  Das reduziert den Traffic bei teuren Leitungen. Das betrifft nur die Remote
//  Datenbank falls konfiguriert.
//  true / false     ( false = die Daten werden rund um die Uhr gesendet. )
$InfluxDaylight = false;
//
//
//
/*******************************************************************************
//  HOMEMATIC  ANBINDUNG      HOMEMATIC  ANBINDUNG      HOMEMATIC  ANBINDUNG
//  Teil 1    Teil 1    Teil 1    Teil 1    Teil 1    Teil 1    Teil 1    Teil 1  
//  ****************************************************************************
//  Anbindung an eine vorhandene HomeMatic Zentrale
//  Für die genaue Einrichtung bitte das PDF Dokument "Homematic_Anschluss.pdf" lesen.
//  Es befindet sich auf unserem Support Server im Bereich "Verschiedene PDF Dokumente"
//  Kapitel 1 bis 7                Kapitel 1 bis 7              Kapitel 1 bis 7
********************************************************************************/
//  Sollen die Daten an eine vorhandene Homematic Zentrale gesendet werden?
//  Diese Werte kann dann die Zentrale dann verarbeiten.
//  Folgende Werte werden übertragen:
//  * Ladestatus 0 = Keine Ladung, 2 = Fehler, 3 = Ladung (bulk); 4 = Nachladung (absorbtion),
//               5 = Erhaltungsladung (float)
//  * Ladestatus als Textzeile (Keine_Ladung, Normale_Ladung, Nachladung, Erhaltungsladung, Fehler)
//  * Batteriespannung in Volt
//  * Erzeugte Leistung am Tage in kWh
//  * Aktuell erzeugte Solar-Leistung
//  * Batteriestatus in % (Wie voll ist die Batterie?) Nicht bei allen Geräten!
//
//  true / false
$Homematic = false;
//
//  Welche IP Adresse hat Ihre Homematic Zentrale? Sie muss sich im selben
//  Netzwerk wie der Raspberry Pi befinden. Beispiel: 192.168.33.200
$Homematic_IP = "192.168.121.2";
//
//  Hier die Variablen eintragen, die zur HomeMatic Zentrale übermittelt werden
//  sollen. Siehe Dokument "HomeMatic_Anbindung.pdf"
//  Beispiel: "BatterieLadestatus,BatteriestatusText,Batteriespannung,Solarleistung,SolarleistungTag,Solarspannung";
$HomeMaticVar = "";
//
//  Den Status einzelner Geräte aus der HomeMatic Zentrale auslesen und in die
//  Influx Datenbank schreiben, damit man den Status im Dashboard anzeigen kann.
//  Nähere Einzelheiten stehen im Dokument "HomeMatic Anbindung"
$HM_auslesen = false;
//
//  Für jedes Gerät, dessen Status ausgelesen werden soll, müssen 4 Variablen
//  angegeben werden.
//  $HM[0]["Variable"] =       Kann man nennen wie man will, steht dann so in der Influx Datenbank.
//  $HM[0]["Interface"] =      Steht in der HomeMatic, bitte übernehmen
//  $HM[0]["Seriennummer"] =   Steht auch in der HomeMatic
//  $HM[0]["Datenpunkt"] =     STATE, POWER, ACTUAL_TEMPERATURE usw. Siehe HomeMatic
//
//  Für jede Systemvariable müssen 2 Variablen angegeben werden:
//  $HM[0]["Variable"] =        Kann man nennen wie man will. Steht dann so in der Influx Datenbank
//  $HM[0]["Systemvariable"] =  Name der Systemvariable in der HomeMatic
//  -----------------------------------------------------------------------
//
//  Beispiele:  ( Die zwei Schrägstich bei Aktivierung bitte entfernen. )
//  $HM[0]["Variable"] = "Wasserboiler";
//  $HM[0]["Interface"] = "BidCos-RF";
//  $HM[0]["Seriennummer"] = "OEQ1150699:1";
//  $HM[0]["Datenpunkt"] = "STATE";
//  $HM[1]["Variable"] = "Heizluefter";
//  $HM[1]["Interface"] = "BidCos-RF";
//  $HM[1]["Seriennummer"] = "OEQ1399311:1";
//  $HM[1]["Datenpunkt"] = "STATE";
//  $HM[2]["Variable"] = "...";
//  $HM[2]["Interface"] = "...";
//  $HM[2]["Seriennummer"] = "...";
//  $HM[2]["Datenpunkt"] = "POWER";
//  $HM[3]["Variable"] = "Anwesenheit";
//  $HM[3]["Systemvariable"] = "Anwesenheit";
//  usw.
//
// $HM["Variable"] = "Wetter_Temperatur";
// $HM["Systemvariable"] = "Wetter_Temperatur";
$HM_Systemvariable[1] = "Wetter_Temperatur";
//
//
/*******************************************************************************
//  HOMEMATIC  ANBINDUNG      HOMEMATIC  ANBINDUNG      HOMEMATIC  ANBINDUNG
//  XML API    XML API        XML API    XML API        XML API    XML API
//  Teil 2    Teil 2    Teil 2    Teil 2    Teil 2    Teil 2    Teil 2    Teil 2  
//  ****************************************************************************
//  Ab Kapitel 7                AB Kapitel 7              AB Kapitel 7
//  Möchte man die variablen daten eines an die Homematic angeschlossenen
//  Gerätes auslesen, wie z.B. ein Heizkörperventil, dann müssen hier die Daten
//  der angeschlossenen Geräte angegeben werden. Nähere Einzelheiten bitte im
//  Dokument Homematic_Anbindung.pdf ab Kapitel 7 lesen.
//
//  Beispiel:
//  ---------
//  HM_Geraet 1
//  $HM_Geraetetyp[1] = "HM-CC-RT-DN";     // Heizungsthermostat
//  $HM_Seriennummer[1] = "OEQ2419985";    // Wohnzimmer
//
//  HM_Geraet 2
//  $HM_Geraetetyp[2] = "HmIP-eTRV-B";     // Heizungsthermostat
//  $HM_Seriennummer[2] = "00201D89A8A446";// Badezimmer
//
//  HM_Geraet 3
//  $HM_Geraetetyp[3] = "HmIP-STHD";       // Wandthermostat
//  $HM_Seriennummer[3] = "000E9BE9967967";// Badezimmer
//
//  HM_Geraet 4
//  $HM_Geraetetyp[4] = "HM-CC-RT-DN";     // Heizungsthermostat
//  $HM_Seriennummer[4] = "OEQ2421488";    // Küche
//
//  HM_Systemvariable 1
//  $HM_Systemvariable[1] = "Test";        // Variable 1
//  $HM_Systemvariable[2] = "DutyCycle";   // Variable 2


*******************************************************************************/
//
//  HM_Geraet 1
$HM_Geraetetyp[1] = "HM-WDS30-OT2-SM";     // Temperatur-Differenzsensor (NICHT IP) 
$HM_Seriennummer[1] = "MEQ0205110";    	   // zur Zeit Vorlauftemperaturmessung
//  HM_Geraet 2
// $HM_Geraetetyp[2] = "HmIP-STE2-PCB";       // zur Zeit deaktiviert
// $HM_Seriennummer[2] = "002820C98F3EE4";    // zur Zeit deaktiviert
//
//  HM_Geraet 3
//  $HM_Geraetetyp[3] = "HM-CC-RT-DN";     // Heizungsthermostat
//  $HM_Seriennummer[3] = "OEQ2419985";    // Wohnzimmer
//
//
/******************************************************************************
//  MQTT Protokoll     MQTT Protokoll      MQTT Protokoll      MQTT Protokoll
//  Senden und / oder Empfangen
******************************************************************************/
//  Sollen alle ausgelesenen Daten mit dem MQTT Protokoll an einen
//  MQTT-Broker gesendet werden oder MQTT Daten empfangen werden? 
//  Bitte das Solaranzeige-MQTT PDF Dokument lesen
$MQTT = false;
//
//
/******************************************************************************/
//  MQTT Daten senden     MQTT Daten senden     MQTT Daten senden     MQTT Daten
//  Wenn Daten mit dem MQTT Protokoll versendet werden sollen. 
//
//  Wo ist der MQTT-Broker zu finden?
//  Entweder "localhost", eine Domain oder IP Adresse "xxx.xxx.xxx.xxx" eintragen.
//  broker.hivemq.com ist ein Test Broker   Siehe http://www.mqtt-dashboard.com/
$MQTTBroker = "localhost";
//
//  Benutzter Port des Brokers. Normal ist 1883  mit SSL 8883
$MQTTPort = 1883;
//
//  Falls der Broker gesichert ist. Sonst bitte leer lassen.
$MQTTBenutzer = "";
$MQTTKennwort = "";
//
//  Wenn man die Daten mit SSL Verschlüsselung versenden möchte.
//  Wenn hier true steht, muss im Verzeichnis "/var/www/html/" die "cerfile"
//  'ca.crt' vorhanden sein. Nähere Einzelheiten über diese Datei findet
//  man im Internet in der Mosquitto Dokumentation.
$MQTTSSL = false;
//
//  Timeout der Übertragung zum Broker. Normal = 10 bis 60 Sekunden
$MQTTKeepAlive = 60;
//
//  Topic Name oder Nummer des Gerätes solaranzeige/1
//  oder solaranzeige/box1                     (solaranzeige ist fest vorgegeben.)
//  Man kann das Gerät nennen wie man will, nur jedes Gerät, welches Daten
//  senden soll unterschiedlich. Entwerder 1 bis 6 oder Namen Ihrer Wahl vergeben.
$MQTTGeraet = "box1";
//
//  Welche Daten sollen als MQTT Message übertragen werden? Wenn hier nichts
//  aufgeführt ist, werden alle ausgelesenen Daten übertragen.
//  Bitte darauf achten, dass keine Leerstellen zwischen den Variablen sind.
//  Die einzelnen Variablen müssen mit einem Komma getrennt und klein geschrieben
//  werden. Zusätzlich müssen sie den Eintrag vom $MQTTGeraet und ein Schrägstrich
//  enthalten. Das ist nötig, da mehrere Geräte an dem Raspberry hängen können.
//  Beispiel mit obigen MQTTGeraet:
//  $MQTTAuswahl = "1/ladestatus,1/solarspannung,1/solarstrom"
//  Werden hier Variablen eingetragen, dann werden auch nur diese Topics
//  übertragen.
$MQTTAuswahl = "";
//
//
/******************************************************************************
//  MQTT Empfang       MQTT Empfang       MQTT Empfang       MQTT Empfang
//  Subscribing    Subscribing    Subscribing    Subscribing    Subscribing
******************************************************************************/
//  Welche Daten sollen empfangen werden. Hier können die Topics, die
//  empfangen werden sollen aufgeführt werden. Dabei gibt es 2 Möglichkeiten
//  Entweder ein einzelner Wert oder eine Reihe von Werten.
//  Wichtig! Das basis Topics ist immer solaranzeige. Dann muss entweder befehl
//  oder anzeige kommen, dann die Gerätenummer und dann die Bezeichnung des
//  Wertes. Die Gerätenummer ist immer 1, außer bei Multi-Regler-Versionen.
//  Beispiel:  solaranzeige/anzeige/1/PV-Spannung
//  In diesem Beispiel wird der Wert der PV-Spannung in die Influx Datenbank
//  geschrieben unter dem Measurement MQTT
//  oder
//  Beispiel:  solaranzeige/befehl/1/POP  mit Wert 00
//  Der Befehl POP00 wird zum Wechselrichter geschickt. Er wird jedoch nur
//  ausgeführt wenn es sich um einen erlaubten Befehl handelt, der in der
//  Datei "befehle.ini.php" enthalten ist.
//
//  Beispiele:
//  $MQTTTopic[1] = "solaranzeige/befehl/1/POP";
//  $MQTTTopic[2] = "solaranzeige/befehl/1/PCP";
//  $MQTTTopic[3] = "solaranzeige/anzeige/1/Wasserboiler";
//
//  Oder auch
//  $MQTTTopic[1] = "solaranzeige/befehl/1/#";
//  Es können so viele Topics wie benötigt aufgeführt werden. Sie müssen nur
//  durch nummeriert werden [1] bis [n]
//  Bei Multi-Regler-Versionen muss zusätzlich noch die Gerätenummer angegeben
//  werden. Weitere Informationen finden Sie auf dem Support Forum.
//  Achtung! Damit der Empfang auch funktioniert muss $MQTT = true;
//  etwas weiter oben stehen!
$MQTTTopic[1] = "solaranzeige/befehl/1/#";
//
//
/******************************************************************************
//  SONOFF Geräte mit Tasmota Firmware       SONOFF Geräte mit Tasmota Firmware
//  POW R2 / TH10 R2 oder TH16 R2  oder GOSUND SP1xx
******************************************************************************/
//  Bitte den Topic-Namen, der in der TASMOTA Firmware angegeben ist, hier
//  eintragen. Unbedingt auf Groß- und Keinschreibung achten! Der Name kann
//  frei gewählt werden, er muss nur im Gerät und hier gleich sein. Werden
//  mehrere Sonoff Geräte mit der Solaranzeige betrieben, muss jedes einzelne
//  Gerät einen anderen Topic-Namen benutzen!
$Topic = "sonoff";
//
//
/******************************************************************************
//  WETTERDATEN     WETTERDATEN    WETTERDATEN    WETTERDATEN    WETTERDATEN
******************************************************************************/
//  Die Wetterdaten werden vom Server openweathermap.org geholt, da von dort
//  die Informationen kostenlos sind.
//  Man muss sich jedoch auf dem Server anmelden, um eine APP ID zu bekommen.
//
//  Bei einer Multi-Regler-Version nur in der 1.user.config.php aktivieren!
//  Sollen die aktuellen Wetterdaten geholt und abgespeichert werden?
//  Dadurch wird mehr Traffic generiert. Die Daten stehen dann in der Influx
//  Datenbank "aktuellesWetter" unter dem Measurement "Wetter" zur Verfügung.
//  Sie werden alle 30 Minuten aktualisiert
//  true oder false
$Wetterdaten = false;
//
//  Die Application ID bekommt man, wenn man sich auf dem Server
//  www.openweathermap.org registriert. Sie hat 32 Stellen und muss hier
//  eingetragen werden. Beispiel: "57b78415a343540e3a4e4f72751c90f9"
$APPID = "";
//
//  Der Standort wird mit einer StandortID angegeben. Wie die StandortID
//  ermittelt wird, bitte im Support Forum nachlesen. Man kann eine Liste
//  aller Standort ID's Weltweit hier herunterladen:
//  http://bulk.openweathermap.org/sample/city.list.json.gz
//  Default = "2925533" Frankfurt am Main oder die ID Ihres Standortes.
$StandortID = "2925533";
//
//
/******************************************************************************
//  PROGNOSEDATEN     PROGNOSEDATEN    PROGNOSEDATEN    PROGNOSEDATEN
******************************************************************************/
//  Die Wetterprognosedaten werden vom Server www.solarprognose.de geholt.
//  Teilweise sind die Daten dort kostenlos. [ www.solarprognose.de ]
//  Man muss sich jedoch auf dem Server anmelden, um eine Prognose ID zu bekommen.
//
//  Sollen die aktuellen Prognosedaten geholt und abgespeichert werden?
//  Die Daten stehen dann in der Influx Datenbank "solaranzeige" unter dem
//  Measurement "Wetterprognose" zur Verfügung. Sie werden pro Stunde einmal
//  aktualisiert.
//  Möchte man seinen eigenen Prognose Script nutzen, dann bitte hier User eingeben.
//  In diesem Fall wird alle 30 Minuten der Script "prognose.php" aufgerufen.
//  Dort müssen die Funktionen hinterlegt sein.
//  keine, API, User, beide
$Prognosedaten = "keine";              //  "keine" , "API" , "User" , "beide"
//
//  Wenn API eingetragen wird, dann folgende 3 Variablen füllen:
$AccessToken = "";                     // Bekommt man bei www.solarprognose.de
$PrognoseItem = "inverter";            // plant, inverter
$PrognoseID = "0";                     // Anlagen ID oder Wechselrichter ID
$Algorithmus = "";                     // kann leer bleiben oder
//                                     // mosmix | own-v1 | clearsky
//
/******************************************************************************
//  MESSENGER   MELDUNGEN        MESSENGER   MELDUNGEN        MESSENGER
******************************************************************************/
//  Es können Fehlermeldungen, Ereignisse oder Statistiken mit einem
//  Messenger übertragen werden. Dazu bitte Messenger = true eintragen
//  Genaue Informationen stehen im Dokument "Messenger_Nachrichten.pdf"
//
//  true / false
$Messenger = false;
//
//  Welcher Messengerdienst soll benutzt werden?
//  Pushover / Signal / WhatsApp
$Messengerdienst[1] = "Pushover";   //  Pushover, Signal oder WhatsApp
//  Die Solaranzeige müssen Sie bei Pushover / Signal oder WhatsApp
//  registrieren und einen API Token holen. 
//  Wie das geht, steht in dem Dokument "Messenger_Nachrichten" auf dem
//  Support Server
//  Pushover Beispiel $API_Token = "amk4be851bcegnirhu1b71u6ou7uoh";
//  Signal Beispiel $API_Token = "999999";
// $API_Token[1] = "";
//
//  Der User_Key ist die Messeger Empfänger Adresse. Bei Pushover können bis zu
//  9 Empfänger angegeben werden. $User_Key[1]  bis  $User_Key[9]
//  Am Ende jeder Zeile das Semikolon nicht vergessen!
//  Pushover Beispiel: $User_Key[1] = "ub6c3wmw4a3idwk9b5ajgfs5a7aypt";
//  Siehe Dokument "Nachrichten_senden.pdf"
//  Bei WhatsApp und Signal kann nur ein Empfänger angegeben werden, da der Token 
//  zur Rufnummer passen muss.
//  Signal Beispiel: $User_Key[1] = "+491769000000";
$User_Key[1] = "";
//
//  ------------------------------------------------------------------------
//  Und jetzt eventuell für weitere Personen:
//
//  $Messengerdienst[2] = "";     // Pushover, WhatsApp oder Signal
//  $API_Token[2] = "";
//  $User_Key[2] = "";
//
//  $Messengerdienst[3] = "";     / Pushover, WhatsApp oder Signal
//  $API_Token[3] = "";
//  $User_Key[3] = "";
//
//*****************************************************************************
//  Sonnen Auf und Untergang:
//  Standort für Frankfurt. Wer es etwas genauer haben möchte, hier den eigenen
//  Standort eintragen. Bitte als Dezimalzahl wie hier vorgegeben!
$Breitengrad = 50.1143999;
$Laengengrad = 8.6585178;
//
//
/******************************************************************************
//  aWATTar Börsenpreise      aWATTar Börsenpreise      aWATTar Börsenpreise.
//
//  Sollen die aktuellen Strom Börsenpreise in die oben angegebene locale.
//  Datenbank in das Measurement "awattarPreise" geschrieben werden?
******************************************************************************/
//
$aWATTar = false;
//
$Aufschlag = "0";       // Z.B.  "20,6"        Preis des Aufschlages in Cent
//
$aWATTarLand = "DE";     // "DE" = Deutschland   "AT" = Österreich 
/******************************************************************************
//  ACHTUNG!   ACHTUNG!   ACHTUNG!   ACHTUNG!   ACHTUNG!   ACHTUNG!   ACHTUNG!
//
//  Alles ab hier nicht ändern! Nur auf Anweisung. Änderungen hier können
//  das System zum Absturz bringen.
/******************************************************************************
//  USB Device      USB Device      USB Device      USB Device      USB Device
******************************************************************************/
//
//  USB Device, die automatisch erkannt wurde...  bitte nicht ändern
//  Wird nicht bei der Multi-Regler-Version benötigt.
//
$USBRegler         = "";
//
//  Nur wenn die automatischer Erkennung nicht funktioniert hat, bitte manuell
//  eintragen. Im Normalfall wird das nicht benötigt. So lassen wie es ist.
//  ---  Nur bei Multi-Regler-Version  Nur bei Multi-Regler-Version  ----
//  Bei einer Multi-Regler-Version muss hier der Devicename manuell
//  eingetragen werden.
//
$USBDevice = "/dev/ttyUSB1";
//
//  Wird nur in seltenen Fällen gebraucht.
//  $SerielleGeschwindigkeit = "9600";
/*****************************************************************************/
//
/******************************************************************************
//  Raspberry Pi   Hardware   Raspberry Pi   Hardware   Raspberry Pi   Hardware
******************************************************************************/
// Bitte nicht ändern, wird automatisch ermittelt.
//
$Platine = "Raspberry unbekannt";
//
/******************************************************************************
//  PHP Error Reporting        PHP Error Reporting        PHP Error Reporting
//  Bei ungeklärten Problemen hier einschalten. Normal = ausgeschaltet
******************************************************************************/
// error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_STRICT);
//
//  Ist für die neue Datenbankstruktur des Alpha ESS Wechselrichters
//  Mit 0 kann die alte Struktur eingeschaltet werden.
$Alpha_ESS = 0;
// ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE ENDE
?>
Hat jemand eine Idee? Oder muss ich wirklich den Zähler, den Stick, den Raspi umstellen, weil solaranzeige das nicht kann (denn mit Node Red geht es ja).

Jan

Benutzeravatar
Ulrich
Administrator
Beiträge: 5587
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 157 Mal
Danksagung erhalten: 890 Mal
Kontaktdaten:

Re: SDM630 Modbus V3 auslesen

Beitrag von Ulrich »

In der x.user.config.php muss noch folgendes eingetragen werden:

$SerielleGeschwindigkeit = "9600";

An welcher Stelle ist egal.


Und nach dem Ändern, den Raspberry neu starten. Eine 2. Software darf die Schnittstelle nicht benutzen.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 9 Mal
Danksagung erhalten: 7 Mal

Re: SDM630 Modbus V3 auslesen

Beitrag von Janniman »

Zeile 728 steht es.
Dort, wo du es vorgegeben hattest.

Jan

Ps: typo

Benutzeravatar
Ulrich
Administrator
Beiträge: 5587
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 157 Mal
Danksagung erhalten: 890 Mal
Kontaktdaten:

Re: SDM630 Modbus V3 auslesen

Beitrag von Ulrich »

Die beiden Schrägstriche müssen entfernt werden. Die Variable muss am Anfang der Zeile stehen.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 9 Mal
Danksagung erhalten: 7 Mal

Re: SDM630 Modbus V3 auslesen

Beitrag von Janniman »

Danke, das hatte ich schon gemacht.
Nun habe ich in Node Red den Flow so geändert, dass der USB-Anschluss nicht korrekt ist und der Anschluss aus schließlich von Solaranzeige verwendet werden kann. Das funktioniert so weit, danke. (ich wollte den Flow nicht komplett löschen)

20.07. 15:33:19 |---XXX------------ incl. Start kostal_meter_math.php
Zeile 302 -> 20.07. 15:33:19 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
Zeile 347 -> 20.07. 15:33:24 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
Das kommt von der kostal_meter.php, weil dort ein Wert gefordert ist, den es bei mir nicht gibt, aber darum wollte ich mich später kümmern.

Code: Alles auswählen

20.07. 16:45:01    -Multi Regler Auslesen [Start].
20.07. 16:45:01    -Verarbeitung von: '1.user.config.php'   Regler: 17
20.07. 16:45:01 |----------------   Start  kostal_plenticore.php    --------------- 
20.07. 16:45:01    -Kostal: 192.168.121.149 Port: 1502 GeräteID: 71
20.07. 16:45:02 |----------------   Start  kostal_plenticore_math.php    --------------- 
20.07. 16:45:02    -Zentraler Timestamp: 1689864301
20.07. 16:45:02 o  -Antwort = 000100000007470304000042c8
20.07. 16:45:02    -WR1 ohne Berechnung der Summen...
20.07. 16:45:02  -Array
(
    [zentralerTimestamp] => 1689864311
    [Seriennummer] => 90523UG1
    [AnzahlPhasen] => 3
    [AnzahlStrings] => 3
    [Softwarestand] => 01.77
    [Status] => 6
    [PV_Leistung] => 939.05
    [Energiemanager_Status] => 0
    [BatterieStatus] => Normal
    [Verbrauch_Batterie] => 0
    [Verbrauch_Netz] => 0
    [Gesamtverbrauch_Batterie] => 2790025.5
    [Gesamtverbrauch_Netz] => 3305442
    [Gesamtverbrauch_PV] => 816057.06
    [Verbrauch_PV] => 0
    [Gesamtverbrauch] => 6891568.5
    [AC_Frequenz] => 49.98
    [Ausgangslast] => 32.08
    [AC_Spannung_R] => 239.59
    [AC_Spannung_S] => 240.15
    [AC_Spannung_T] => 238.32
    [AC_Leistung] => 889
    [AC_Wirkleistung] => 698
    [AC_Scheinleistung] => 1141.94
    [Bat_Cycles] => 400
    [Batteriestrom] => -0.03
    [SOC] => 7
    [Batteriestatus] => 5.1042355038141E+38
    [Batterie_Temperatur] => 22
    [Batteriespannung] => 307.97
    [WattstundenGesamt] => 11241164
    [WattstundenGesamtHeute] => 32541.07
    [WattstundenGesamtMonat] => 564549.13
    [WattstundenGesamtJahr] => 3706050.25
    [PV1_Strom] => 1.71
    [PV1_Leistung] => 503.41
    [PV1_Spannung] => 294.77
    [PV2_Strom] => 1.56
    [PV2_Leistung] => 435.64
    [PV2_Spannung] => 269.07
    [PV3_Strom] => 0
    [PV3_Leistung] => 0
    [PV3_Spannung] => 0
    [AC_Solarleistung] => 887
    [Bat_Act_SOC] => 7
    [Total_DC_Power] => 939.05
    [Bat_Charge_Power] => 10
    [Laufzeit] => 48196056
    [Temp_WR_Cab] => 51.2
    [Temp_WR_Sink] => 45.4
    [Temp_WR_Trans] => 44.4
    [Max_Charge_Limit] => 0
    [Max_Discharge_Limit] => 4003.21
    [Min_SOC_Rel] => 5
    [Max_SOC_Rel] => 95
    [ExternalControl] => 1
    [Bat_Work_Capacity] => 8760
    [Bat_Seriennummer] => 06362112
    [Verbrauch] => 0
    [Einspeisung] => 887
    [Ueberschuss] => 887
    [WirkungsgradWR] => 0.94457164155263
    [Regler] => 17
    [Objekt] => WR1-Plenti
    [Firmware] => 01.77
    [Produkt] => 90523UG1
    [InfluxAdresse] => localhost
    [InfluxPort] => 8086
    [InfluxUser] => 
    [InfluxPassword] => 
    [InfluxDBName] => solaranzeige
    [InfluxDaylight] => 
    [InfluxDBLokal] => solaranzeige
    [InfluxSSL] => 
    [Demodaten] => 
    [AC_Strompreis] => 0.306
    [AC_EEG] => 0.0694
    [AC_Einspeiselimit] => 100
    [Verbrauch_PV_k] => 0
    [Verbrauch_Netz_k] => 0
    [Verbrauch_Batterie_k] => 0
    [Verbrauch_k] => 0
    [Batterie_SOC_Wh] => 175.2
    [Batterie_Ladeleistung] => 0
    [Batterie_Entladeleistung] => 10
    [AC_WR_Verbrauch] => 0
    [AC_WR_Lieferung] => 889
    [Service_VerlusteWR] => 60.05
    [PV_DC_Gesamtleistung2] => 949.05
    [Service_DC_Gesamtinput] => 949.05
    [Service_WirkungsgradWR2] => 0.93672619988409
    [Ueberschuss_Batterie] => 0
    [AC_EV_Erz] => 0
    [AC_Erz_Summe] => 887
    [AC_EV_Grad] => 0
    [AC_EV_Nutzung] => 0
    [AC_Autarkiegrad] => 0
    [Gesamtleistung] => 0
    [Solarleistung] => 0
    [ZusatzQuery] => AC Einspeiselimit=100,EV_Erz=0,Erz_Summe=887,EV_Grad=0,EV_Nutzung=0,Autarkiegrad=0,WR_Lieferung=889,WR_Verbrauch=0,Strompreis=0.306,EEG=0.0694,Verbrauch_PV_k=0,Verbrauch_Netz_k=0,Verbrauch_Batterie_k=0,Verbrauch_k=0,Ueberschuss_Batterie=0  1689864311
Batterie SOC_Wh=175.2,Ladeleistung=0,Entladeleistung=10  1689864311
Service VerlusteWR=60.05,DC_Gesamtinput=949.05,WirkungsgradWR2=0.93672619988409  1689864311
PV DC_Gesamtleistung2=949.05  1689864311
)

20.07. 16:45:02 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet. 
20.07. 16:45:02    -Multi-Regler-Ausgang. 7
20.07. 16:45:09    -OK. Datenübertragung erfolgreich.
20.07. 16:45:09 |----------------   Stop   kostal_plenticore.php    --------------- 
20.07. 16:45:09    -Verarbeitung von: '2.user.config.php'   Regler: 17
20.07. 16:45:09 |----------------   Start  kostal_plenticore.php    --------------- 
20.07. 16:45:09    -Kostal: 192.168.121.153 Port: 1502 GeräteID: 71
20.07. 16:45:10 |----------------   Start  kostal_plenticore_math.php    --------------- 
20.07. 16:45:10    -Zentraler Timestamp: 1689864301
20.07. 16:45:10 o  -Antwort = 000100000007470304000042c8
20.07. 16:45:10    -zum Piko: Gesamtberechnungen der Summen wurden durchgeführt
20.07. 16:45:10  -Array
(
    [zentralerTimestamp] => 1689864311
    [Seriennummer] => 92092TC5
    [AnzahlPhasen] => 3
    [AnzahlStrings] => 2
    [Softwarestand] => 01.77
    [Status] => 6
    [PV_Leistung] => 4452.78
    [Energiemanager_Status] => 0
    [BatterieStatus] => Normal
    [Verbrauch_Batterie] => 0
    [Verbrauch_Netz] => 0
    [Gesamtverbrauch_Batterie] => 0
    [Gesamtverbrauch_Netz] => 0
    [Gesamtverbrauch_PV] => 0
    [Verbrauch_PV] => 0
    [Gesamtverbrauch] => 0.07
    [AC_Frequenz] => 49.97
    [Ausgangslast] => 0
    [AC_Spannung_R] => 239.27
    [AC_Spannung_S] => 239.73
    [AC_Spannung_T] => 238.04
    [AC_Leistung] => 4491
    [AC_Wirkleistung] => 2331.09
    [AC_Scheinleistung] => 4763.05
    [Bat_Cycles] => 0
    [Batteriestrom] => -0
    [SOC] => 0
    [Batteriestatus] => 5.1042355038141E+38
    [Batterie_Temperatur] => 0
    [Batteriespannung] => 0
    [WattstundenGesamt] => 9438207
    [WattstundenGesamtHeute] => 19425.51
    [WattstundenGesamtMonat] => 489700.78
    [WattstundenGesamtJahr] => 3498779.5
    [PV1_Strom] => 7.04
    [PV1_Leistung] => 2269.77
    [PV1_Spannung] => 317.87
    [PV2_Strom] => 6.71
    [PV2_Leistung] => 2183.01
    [PV2_Spannung] => 320.26
    [PV3_Strom] => 0
    [PV3_Leistung] => 0
    [PV3_Spannung] => 0
    [AC_Solarleistung] => 4491
    [Bat_Act_SOC] => 0
    [Total_DC_Power] => 4452.78
    [Bat_Charge_Power] => 0
    [Laufzeit] => 31695380
    [Temp_WR_Cab] => 56.8
    [Temp_WR_Sink] => 50.8
    [Temp_WR_Trans] => 52.6
    [Max_Charge_Limit] => 0
    [Max_Discharge_Limit] => 0
    [Min_SOC_Rel] => 0
    [Max_SOC_Rel] => 0
    [ExternalControl] => 0
    [Bat_Work_Capacity] => 0
    [Bat_Seriennummer] => 00000000
    [Verbrauch] => 0
    [Einspeisung] => 4491
    [Ueberschuss] => 4491
    [WirkungsgradWR] => 1.0085834018299
    [Regler] => 17
    [Objekt] => WR2-Piko
    [Firmware] => 01.77
    [Produkt] => 92092TC5
    [InfluxAdresse] => 
    [InfluxPort] => 8086
    [InfluxUser] => 
    [InfluxPassword] => 
    [InfluxDBName] => solaranzeige2
    [InfluxDaylight] => 
    [InfluxDBLokal] => solaranzeige2
    [InfluxSSL] => 
    [Demodaten] => 
    [AC_Strompreis] => 0.306
    [AC_EEG] => 0.0694
    [AC_Einspeiselimit] => 100
    [Verbrauch_PV_k] => 0
    [Verbrauch_Netz_k] => 0
    [Verbrauch_Batterie_k] => 0
    [Verbrauch_k] => 0
    [Batterie_SOC_Wh] => 0
    [Batterie_Ladeleistung] => 0
    [Batterie_Entladeleistung] => 0
    [AC_WR_Verbrauch] => 0
    [AC_WR_Lieferung] => 4491
    [Service_VerlusteWR] => -38.219999999999
    [PV_DC_Gesamtleistung2] => 4452.78
    [Service_DC_Gesamtinput] => 4452.78
    [Service_WirkungsgradWR2] => 1
    [Ueberschuss_Batterie] => 0
    [AC_EV_Erz] => 0
    [AC_Erz_Summe] => 4491
    [AC_EV_Grad] => 0
    [AC_EV_Nutzung] => 0
    [AC_Autarkiegrad] => 0
    [Gesamtleistung] => 5391.83
    [Solarleistung] => 5378
    [Query] => db=solaranzeige&q=select+last%28Solarleistung%29+from+AC
    [ZusatzQuery] => AC Einspeiselimit=100,EV_Erz=0,Erz_Summe=4491,EV_Grad=0,EV_Nutzung=0,Autarkiegrad=0,WR_Lieferung=4491,WR_Verbrauch=0,Strompreis=0.306,EEG=0.0694,Verbrauch_PV_k=0,Verbrauch_Netz_k=0,Verbrauch_Batterie_k=0,Verbrauch_k=0,Ueberschuss_Batterie=0  1689864311
Batterie SOC_Wh=0,Ladeleistung=0,Entladeleistung=0  1689864311
Service VerlusteWR=-38.219999999999,DC_Gesamtinput=4452.78,WirkungsgradWR2=1  1689864311
PV DC_Gesamtleistung2=4452.78  1689864311
Gesamt Gesamtleistung=5391.83,Solarleistung=5378  1689864311
)

20.07. 16:45:10 *  -Daten zur lokalen InfluxDB [ solaranzeige2 ] gesendet. 
20.07. 16:45:10    -Multi-Regler-Ausgang. 7
20.07. 16:45:17    -OK. Datenübertragung erfolgreich.
20.07. 16:45:17 |----------------   Stop   kostal_plenticore.php    --------------- 
20.07. 16:45:18    -Verarbeitung von: '3.user.config.php'   Regler: 22
20.07. 16:45:18 |----------------   Start  kostal_meter.php    -------------------- 
20.07. 16:45:18    -Kostal: 192.168.121.148 Port: 502 GeräteID: 01
20.07. 16:45:18 o  -Hardware Version: 4B
20.07. 16:45:18 |---XXX------------  incl. Start  kostal_meter_math.php    --------------XXX 
20.07. 16:45:18    -Zentraler Timestamp: 1689864301
20.07. 16:45:18 *- -Array
(
    [zentralerTimestamp] => 1689864311
    [Firmware] => 513
    [Produkt] => KOSTAL Smart Energy Meter
    [Seriennummer] => 75301500
    [Leistungsfaktor] => 0.923
    [Active_powerP] => 0
    [Active_powerM] => 4065.5
    [Reactive_powerP] => 1694.4
    [Reactive_powerM] => 0
    [Apparent_powerP] => 0
    [Apparent_powerM] => 4404.4
    [Active_energyP] => 3359846.6
    [Active_energyM] => 13944831.2
    [Reactive_energyP] => 7432816.7
    [Reactive_energyM] => 2331400.7
    [Apparent_energyP] => 4618222.7
    [Apparent_energyM] => 16086171.8
    [Current_L1] => 6.085
    [Current_L2] => 6.104
    [Current_L3] => 6.323
    [Frequency] => 49.953
    [Voltage_L1] => 237.772
    [Voltage_L2] => 239.111
    [Voltage_L3] => 239.136
    [Active_powerP_L1] => 0
    [Active_powerM_L1] => 1309.1
    [Active_powerP_L2] => 0
    [Active_powerM_L2] => 1356
    [Active_powerP_L3] => 0
    [Active_powerM_L3] => 1403.3
    [Regler] => 22
    [Objekt] => WR-KSEM
    [WattstundenGesamtHeute] => 0
    [ZusatzQuery] => Dashboard Erzeugung=,Bezug=0,Einspeisung=4065.5,Gesamtverbrauch=-4065.5 1689864311
    [Timestamp] => 1689864318
    [Monat] => 7
    [Woche] => 29
    [Wochentag] => Donnerstag
    [Datum] => 20.07.2023
    [Uhrzeit] => 16:45:18
    [InfluxAdresse] => 
    [InfluxPort] => 8086
    [InfluxUser] => 
    [InfluxPassword] => 
    [InfluxDBName] => solaranzeige3
    [InfluxDaylight] => 
    [InfluxDBLokal] => solaranzeige3
    [Demodaten] => 
)

20.07. 16:45:18    -InfluxDB  => [ Dashboard Erzeugung=,Bezug=0,Einspeisung=4065.5,Gesamtverbrauch=-4065.5 1689864311
AC Spannung_R=237.772,Spannung_S=239.111,Spannung_T=239.136,Strom_R=6.085,Strom_S=6.104,Strom_T=6.323,Leistung_pos=0,Leistung_pos_R=0,Leistung_neg_R=1309.1,Leistung_pos_S=0,Leistung_neg_S=1356,Leistung_pos_T=0,Leistung_neg_T=1403.3,Blindleistung_pos=1694.4,Scheinleistung_pos=0,Leistung_neg=4065.5,Blindleistung_neg=0,Scheinleistung_neg=4404.4,Frequenz=49.953  1689864311
Summen Wh_Gesamt_Leistung_pos=3359846.6,Wh_Gesamt_Blindleistung_pos=7432816.7,Wh_Gesamt_Scheinleistung_pos=4618222.7,Wh_Gesamt_Leistung_neg=13944831.2,Wh_Gesamt_Blindleistung_neg=2331400.7,Wh_Gesamt_Scheinleistung_neg=16086171.8  1689864311
 ]
20.07. 16:45:18    -Daten nicht zur lokalen InfluxDB gesendet! info: array (
  'url' => 'http://localhost/write?db=solaranzeige3&precision=s',
  'content_type' => 'application/json',
  'http_code' => 400,
  'header_size' => 436,
  'request_size' => 854,
  'filetime' => -1,
  'ssl_verify_result' => 0,
  'redirect_count' => 0,
  'total_time' => 0.009286,
  'namelookup_time' => 0.000836,
  'connect_time' => 0.001137,
  'pretransfer_time' => 0.001301,
  'size_upload' => 696.0,
  'size_download' => 159.0,
  'speed_download' => 17666.0,
  'speed_upload' => 77333.0,
  'download_content_length' => 159.0,
  'upload_content_length' => 696.0,
  'starttransfer_time' => 0.009194,
  'redirect_time' => 0.0,
  'redirect_url' => '',
  'primary_ip' => '::1',
  'certinfo' => 
  array (
  ),
  'primary_port' => 8086,
  'local_ip' => '::1',
  'local_port' => 45836,
  'http_version' => 2,
  'protocol' => 1,
  'ssl_verifyresult' => 0,
  'scheme' => 'HTTP',
  'appconnect_time_us' => 0,
  'connect_time_us' => 1137,
  'namelookup_time_us' => 836,
  'pretransfer_time_us' => 1301,
  'redirect_time_us' => 0,
  'starttransfer_time_us' => 9194,
  'total_time_us' => 9286,
)
20.07. 16:45:23    -InfluxDB  => [ Dashboard Erzeugung=,Bezug=0,Einspeisung=4065.5,Gesamtverbrauch=-4065.5 1689864311
AC Spannung_R=237.772,Spannung_S=239.111,Spannung_T=239.136,Strom_R=6.085,Strom_S=6.104,Strom_T=6.323,Leistung_pos=0,Leistung_pos_R=0,Leistung_neg_R=1309.1,Leistung_pos_S=0,Leistung_neg_S=1356,Leistung_pos_T=0,Leistung_neg_T=1403.3,Blindleistung_pos=1694.4,Scheinleistung_pos=0,Leistung_neg=4065.5,Blindleistung_neg=0,Scheinleistung_neg=4404.4,Frequenz=49.953  1689864311
Summen Wh_Gesamt_Leistung_pos=3359846.6,Wh_Gesamt_Blindleistung_pos=7432816.7,Wh_Gesamt_Scheinleistung_pos=4618222.7,Wh_Gesamt_Leistung_neg=13944831.2,Wh_Gesamt_Blindleistung_neg=2331400.7,Wh_Gesamt_Scheinleistung_neg=16086171.8  1689864311
 ]
20.07. 16:45:23    -Daten nicht zur lokalen InfluxDB gesendet! info: array (
  'url' => 'http://localhost/write?db=solaranzeige3&precision=s',
  'content_type' => 'application/json',
  'http_code' => 400,
  'header_size' => 436,
  'request_size' => 854,
  'filetime' => -1,
  'ssl_verify_result' => 0,
  'redirect_count' => 0,
  'total_time' => 0.008584,
  'namelookup_time' => 0.000111,
  'connect_time' => 0.000114,
  'pretransfer_time' => 0.000352,
  'size_upload' => 696.0,
  'size_download' => 159.0,
  'speed_download' => 19875.0,
  'speed_upload' => 87000.0,
  'download_content_length' => 159.0,
  'upload_content_length' => 696.0,
  'starttransfer_time' => 0.008503,
  'redirect_time' => 0.0,
  'redirect_url' => '',
  'primary_ip' => '::1',
  'certinfo' => 
  array (
  ),
  'primary_port' => 8086,
  'local_ip' => '::1',
  'local_port' => 45836,
  'http_version' => 2,
  'protocol' => 1,
  'ssl_verifyresult' => 0,
  'scheme' => 'HTTP',
  'appconnect_time_us' => 115,
  'connect_time_us' => 114,
  'namelookup_time_us' => 111,
  'pretransfer_time_us' => 352,
  'redirect_time_us' => 0,
  'starttransfer_time_us' => 8503,
  'total_time_us' => 8584,
)
20.07. 16:45:26 |----------------   Start  byd_daten.php    --------------- 
20.07. 16:45:28    -Multi-Regler-Ausgang. -3
20.07. 16:45:28    -OK. Datenübertragung erfolgreich.
20.07. 16:45:28 |----------------   Stop   kostal_meter.php     ------------------- 
20.07. 16:45:28    -Verarbeitung von: '4.user.config.php'   Regler: 30
20.07. 16:45:28 |----------------   Start  keba_wallbox.php   --------------------- 
20.07. 16:45:31 |----------------   Stop  byd_daten.php    --------------- 
20.07. 16:45:37    -OK. Datenübertragung erfolgreich.
20.07. 16:45:37 |----------------   Stop   keba_wallbox.php   --------------------- 
20.07. 16:45:38    -Verarbeitung von: '5.user.config.php'   Regler: 72
20.07. 16:45:38 |----------------   Start  hm_geraet.php    -------------------------- 
20.07. 16:45:38    -HomeMatic: 192.168.121.2 Port: 80 GeräteID: 1
20.07. 16:45:38 +  -Die Daten werden ausgelesen...
20.07. 16:45:39 *  -Daten zur lokalen InfluxDB [ homematic ] gesendet. 
20.07. 16:45:39    -Multi-Regler-Ausgang. 6
20.07. 16:45:45    -OK. Datenübertragung erfolgreich.
20.07. 16:45:45 |----------------   Stop   hm_geraet.php    -------------------------- 
20.07. 16:45:46    -Verarbeitung von: '6.user.config.php'   Regler: 34
20.07. 16:45:46 +  -WR_ID: 01
20.07. 16:45:46 |------------   Start  SDM630_meter.php  ------------------------- 
20.07. 16:45:46    -AC Leistung: 0 Watt
20.07. 16:45:47 *  -Daten zur lokalen InfluxDB [ heizung ] gesendet. 
20.07. 16:45:47    -Multi-Regler-Ausgang. 8
20.07. 16:45:55    -OK. Datenübertragung erfolgreich.
20.07. 16:45:55 |------------   Stop   SDM630_meter.php    ----------------------- 
20.07. 16:45:55    -Multi Regler Auslesen [Stop Timeout].
Nun muss ich noch sehen. wie ich aus den Measurments einige Series herauslöschen kann. Ich hatte bei meinen Versuchen leider mal die falsche Datenbank eingetragen.

Danke für die Hilfe!

Jan

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 9 Mal
Danksagung erhalten: 7 Mal

Re: SDM630 Modbus V3 auslesen

Beitrag von Janniman »

Was passiert eigentlich, wenn ich nun meine 5.user.config.php lösche? Das ist bei mir HM, welches ich im Moment nicht brauche. Aber es wird noch ein weiterer Wechselrichter dazukommen (irgendwann), dann werde ich das sowieso nutzen müssen.
Wenn ich also 5.user.xxx lösche, geht dann die 6.user.xxx trotzdem noch?

Jan

Benutzeravatar
Ulrich
Administrator
Beiträge: 5587
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 157 Mal
Danksagung erhalten: 890 Mal
Kontaktdaten:

Re: SDM630 Modbus V3 auslesen

Beitrag von Ulrich »

Ja, kannst du löschen oder in 7.user.config.php umbenennen, dann kann sie noch einmal verwendet werden, aber sie wird nicht mehr beachtet.
Die Reihenfolge ist unwichtig und wenn dazwischen welche fehlen ist auch unwichtig. Es muss nur eine 1.user.config.php vorhanden sein. Die darf in einer Multi-Regler-Version nicht fehlen.

Die Datenbank einfach löschen und noch einmal neu anlegen. Dann sind alle falschen Measurements verschwunden.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Janniman
Beiträge: 148
Registriert: Mi 13. Okt 2021, 09:52
Hat sich bedankt: 9 Mal
Danksagung erhalten: 7 Mal

Re: SDM630 Modbus V3 auslesen

Beitrag von Janniman »

Die Datenbank einfach löschen und noch einmal neu anlegen. Dann sind alle falschen Measurements verschwunden.
Leider geht das nicht, da dies die Datenbank 1 (solaranzeige) ist, also die für historische Werte wichtigste Datenbank.
Um dann zu vergleichen, oder das Finanzamt zu bedienen, muss ich wieder zwei Jahre warten....

Ich habe aber auch nach viel googleei keine Möglichkeit zu diesem Thema entdeckt. Man muss mit den unerwünschten Fields leben, oder neu, mit leerer Datenbank, beginnen. Selbst Export und Import wäre blöde.
Nur eine Rücksicherung vom heute 1:00 Uhr wäre möglich, aber da traue ich mich nicht wirklich dran und bin noch auf der Suche nach einer Anleitung. Mein Backup dieser einen (portablen) Datenbanksicherung hat 184 Dateien und ich habe keine Ahnung, welche ich wählen soll -> meta, manifest, ....
alle Dateien haben verschiedene Namen. ...und ja, dies ist nur diese eine Datenbank, weil ich jede einzeln sichere.

Jan

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“