Eigene Berechnungen _math.php

Wenn mehr als ein Gerät an den Raspberry angeschlossen werden sollen. Z.B. ein Regler und ein Wechselrichter oder mehrere Wechselrichter. Das Maximum sind 6 Geräte pro Raspberry Pi.

Moderator: Ulrich

Antworten
Andi1976
Beiträge: 16
Registriert: Do 18. Nov 2021, 16:51
Hat sich bedankt: 5 Mal

Eigene Berechnungen _math.php

Beitrag von Andi1976 »

Hallo,

ich bekomme es leider nicht selbst hin, da scheitert es an php Kenntnissen :roll:
Ich habe eine laufende MultiRegler Version, 1 Growatt Mic WR, 1SDM630, 4 Gosund Steckdosen.

Mein Vorhaben wäre gewesen, den Eigenverbrauch im Dashboard auf einfache Art und Weise darzustellen,
also über eigene Berechnungen.
Habe mir dann die Beispiel _math von Ulrich geschnappt und mir auf den Raspi geholt.
Tja, was soll ich sagen, es sollte jetzt eigentlich ein Measurement Dashboard geben, aber das gibts bei mir nicht :?:

Könnte sich bitte mal jemand meine _math ansehen und mir erklären was da schief läuft :geek:
Die RaspiTemp habe ich im Measurement Service :roll:

Danke und Gruß
Andi
SDM630_meter_math.php
(3.78 KiB) 77-mal heruntergeladen

Bogeyof
Beiträge: 938
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 17 Mal
Danksagung erhalten: 103 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Bogeyof »

Vorbehaltlich anderer Fehler (ich habe nicht den ganzen Code gesichtet) überschreibst Du in deiner _math.php die Zusatzquery mit dem Measurement Dashboard anschließend mit Service (der RaspiTemp). Das ganze muss "zusammengehängt" werden, daher sollte der Anteil für RaspiTemp dann so aussehen:

Code: Alles auswählen

$aktuelleDaten["ZusatzQuery"] .= "\n";		
$aktuelleDaten["ZusatzQuery"] .= "Service RaspiTemp=".round($RaspiTemp,1);
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];

Andi1976
Beiträge: 16
Registriert: Do 18. Nov 2021, 16:51
Hat sich bedankt: 5 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Andi1976 »

Ich hab das jetzt mal zusammen gehängt. Die Solaranzeige läuft noch. Das Mesurement Dashboard taucht bis dato nicht auf.
Liegt es daran das der WR off ist?

Ich hab folgende Einträge im Log:

Code: Alles auswählen

17.02. 18:59:01    -Multi Regler Auslesen [Start].
17.02. 18:59:01    -Verarbeitung von: '1.user.config.php'   Regler: 48
17.02. 18:59:01 |-------------------------   Start  growatt.php   --------------------- 
17.02. 18:59:02    -Keine Antwort vom Wechselrichter. Zu dunkel?
17.02. 18:59:02 |-------------------------   Stop   growatt.php   --------------------- 
17.02. 18:59:02    -Verarbeitung von: '2.user.config.php'   Regler: 34
17.02. 18:59:02 +  -WR_ID: 02
17.02. 18:59:02 |------------   Start  SDM630_meter.php  ------------------------- 
17.02. 18:59:03    -AC Leistung: 211.328 Watt
17.02. 18:59:04 > -Rasperry Temperatur: 51 °C
17.02. 18:59:04    -InfluxDB  => [ Dashboard  Erzeugung=6.7,Bezug=,Einspeisung=,Eigenverbrauch=6.7 1645120751
Service RaspiTemp=51 1645120751
AC Spannung=228.598,Strom=1.576,Frequenz=49.938,Leistung=211.328,Leistungsfaktor=0.591,Spannung_R=228.598,Spannung_S=229.754,Spannung_T=228.519,Strom_R=0.286,Strom_S=0.799,Strom_T=0.51,Leistung_R=22.894,Leistung_S=145.224,Leistung_T=44.408,Leistungsfaktor_R=0.35,Leistungsfaktor_S=0.805,Leistungsfaktor_T=0.383  1645120751
Summen Wh_GesamtBezug=339374,Wh_GesamtEinspeisung=110916,GesamtLeistungsbedarf=214.64  1645120751
 ]
17.02. 18:59:04    -Daten nicht zur lokalen InfluxDB gesendet! info: array (
  'url' => 'http://localhost/write?db=smartmeter&precision=s',
  'content_type' => 'application/json',
  'http_code' => 400,
  'header_size' => 428,
  'request_size' => 683,
  'filetime' => -1,
  'ssl_verify_result' => 0,
  'redirect_count' => 0,
  'total_time' => 0.012294,
  'namelookup_time' => 0.001023,
  'connect_time' => 0.001389,
  'pretransfer_time' => 0.001638,
  'size_upload' => 528.0,
  'size_download' => 151.0,
  'speed_download' => 12583.0,
  'speed_upload' => 44000.0,
  'download_content_length' => 151.0,
  'upload_content_length' => 528.0,
  'starttransfer_time' => 0.012213,
  'redirect_time' => 0.0,
  'redirect_url' => '',
  'primary_ip' => '::1',
  'certinfo' => 
  array (
  ),
  'primary_port' => 8086,
  'local_ip' => '::1',
  'local_port' => 53350,
  'http_version' => 2,
  'protocol' => 1,
  'ssl_verifyresult' => 0,
  'scheme' => 'HTTP',
  'appconnect_time_us' => 0,
  'connect_time_us' => 1389,
  'namelookup_time_us' => 1023,
  'pretransfer_time_us' => 1638,
  'redirect_time_us' => 0,
  'starttransfer_time_us' => 12213,
  'total_time_us' => 12294,
)

Bogeyof
Beiträge: 938
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 17 Mal
Danksagung erhalten: 103 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Bogeyof »

Die Werte für Bezug und Einspeisung sind "leer". Damit ist die Syntax falsch und das Schreiben in die Datenbank schlägt fehl. Diese Werte müssen bei "nicht vorhanden" mit z.B. 0 initialisiert werden...
Vermutlich hängt das mit mit WR off zusammen...

Andi1976
Beiträge: 16
Registriert: Do 18. Nov 2021, 16:51
Hat sich bedankt: 5 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Andi1976 »

Dann schau ich morgen Vormittag nochmal rein. Jetzt raucht mir die Rübe zu sehr. PHP ist sehr anstrengend für mich :roll:

Bogeyof
Beiträge: 938
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 17 Mal
Danksagung erhalten: 103 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Bogeyof »

Z.B. ganz primitiv:

Code: Alles auswählen

if (empty($aktuelleDaten["Bezug"])) {
    $aktuelleDaten["Bezug"] = 0;
}

Andi1976
Beiträge: 16
Registriert: Do 18. Nov 2021, 16:51
Hat sich bedankt: 5 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Andi1976 »

Teste ich morgen früh 😬

Andi1976
Beiträge: 16
Registriert: Do 18. Nov 2021, 16:51
Hat sich bedankt: 5 Mal

Re: Eigene Berechnungen _math.php

Beitrag von Andi1976 »

Jetzt scheint es zu funktionieren.
Keine Fehler im Log, Measurement "Dashboard" ist auch vorhanden.

Ob allerdings die Berechnungen so stimmen muss ich mir erstmal genauer ansehen, ich blick eh nimmer durch.
Hat jemand zufällig so eine math.php für das SDM630?

Antworten