Multi Regler und _math nur über MQTT?

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
Peltierchen
Beiträge: 31
Registriert: Fr 30. Sep 2022, 22:51
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Multi Regler und _math nur über MQTT?

Beitrag von Peltierchen »

Hallihallo,

ich habe genau 3 Stück EASUN SMG Wechselrichter in betrieb.
Für das Senden der Daten aus dem WR zur Homematic habe ich eine Datei namens easung_smg_math.php angelegt.

Bis dahin funktioniert alles. Jedoch werden die Daten (z.B. PV_Leistung) nur aus der 1.user.config.php übertragen. Ist es möglich die selben Werte für "PV_Leistung" auch aus dem zweiten und dritten Wechselrichter zu übertragen? Wie müsste ich dann das Sript für _math verändern?
math.jpg

Oder habe ich richtig gelesen, dass dies nur mittels MQTT funktioniert?

Vielen Dank!

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

Re: Multi Regler und _math nur über MQTT?

Beitrag von Ulrich »

Das funktioniert mit der _math Datei, ist nur um einiges komplizierter, da bei allen 3 Wechselrichtern die gleiche _math Datei durchlaufen wird. Du musst also erst feststellen, welcher Wechselrichter gerade die _math Datei aufruft und dann die Variablen dementsprechend anders benennen. Welcher Wechselrichter gerade die _math Datei aufruft, steht in der Variable $GeräteNummer. (1 bis 3)
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Peltierchen
Beiträge: 31
Registriert: Fr 30. Sep 2022, 22:51
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Multi Regler und _math nur über MQTT?

Beitrag von Peltierchen »

Ja genau, für das "festellen welcher WR die _math Datei aufgruft" brauche ich demzufolge ein entsprechendes Script, welches in meine _math-Datei eingefügt werden müsste. So habe ich das jetzt verstanden. Ich habe praktisch keine php-Kenntnisse und bin damit aufgeschmissen. Es muss doch mal jemanden gegeben haben, der auch vor dem Problem stand?

solarfanenrico

Re: Multi Regler und _math nur über MQTT?

Beitrag von solarfanenrico »

Peltierchen hat geschrieben:
Do 29. Dez 2022, 19:16
Ja genau, für das "festellen welcher WR die _math Datei aufgruft" brauche ich demzufolge ein entsprechendes Script, welches in meine _math-Datei eingefügt werden müsste. So habe ich das jetzt verstanden. Ich habe praktisch keine php-Kenntnisse und bin damit aufgeschmissen. Es muss doch mal jemanden gegeben haben, der auch vor dem Problem stand?
Versuche bitte meine email-Adresse zu finden. Ich habe ein einfaches shellsript, welches Daten aus beliebig vielen Datenbanken summiert.

Diese Summen schreibe ich in eine neue InfluxDB, die auch wieder von der einfachen Allgemeinen Automation akzeptiert wird.

Würde ich diese Prozedere hier veröffentlichen, gäbe es ein heilloses Durcheinander, mit Ulrichs Anleitungen.

Enrico

Peltierchen
Beiträge: 31
Registriert: Fr 30. Sep 2022, 22:51
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Multi Regler und _math nur über MQTT?

Beitrag von Peltierchen »

Hi, ich habe das jetzt mittels dem MQTT-Protokoll gelöst. Nachdem ich die Einrichtung begriffen habe, läuft das nun hervorragend :)

Vielen Dank an Ulrich für die Implementierung von MQTT :geek:

Nun hänge ich noch an einem anderen Problem, wofür ich jedoch einen eigenen Thread erstellen werde.

chriseck
Beiträge: 11
Registriert: Do 11. Aug 2022, 05:19

Re: Multi Regler und _math nur über MQTT?

Beitrag von chriseck »

Hallo zusammen,
ich habe das Problem das meine beiden baugleichen WR die gleiche _math Datei verwenden und so immer im wechsel ihre Daten zur Homematic übermitteln.
Wie kann ich das trennen? Muss ich zwei separate _math Dateien erstellen? oder das Script anpassen?

Vielleicht hat jemand einen Tipp für mich.
Danke

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

Re: Multi Regler und _math nur über MQTT?

Beitrag von Ulrich »

chriseck hat geschrieben:
Mo 4. Sep 2023, 08:41
Hallo zusammen,
ich habe das Problem das meine beiden baugleichen WR die gleiche _math Datei verwenden und so immer im wechsel ihre Daten zur Homematic übermitteln.
Wie kann ich das trennen? Muss ich zwei separate _math Dateien erstellen? oder das Script anpassen?

Vielleicht hat jemand einen Tipp für mich.
Danke
Du musst den Script anpassen. Im Script kann man ja die $GeraeteNummer benutzen. Damit weiß der Script, welches Gerät gerade den Script aufgerufen hat.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

chriseck
Beiträge: 11
Registriert: Do 11. Aug 2022, 05:19

Re: Multi Regler und _math nur über MQTT?

Beitrag von chriseck »

Danke für den Hinweis.

So in etwa? Bin nicht der Profi in PHP

<?php

if ($Geraetenummer==1)
{
$HM_Var = array();
$HM_Var["Batterie_SOC"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung"] = $aktuelleDaten["PV"]["Leistung"];}

if ($Geraetenummer==2)
{
$HM_Var = array();
$HM_Var["Batterie_SOC2"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp2"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V2"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid2"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung2"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung2"] = $aktuelleDaten["PV"]["Leistung"];}


?>

Funktioniert leider nicht.

chriseck
Beiträge: 11
Registriert: Do 11. Aug 2022, 05:19

Re: Multi Regler und _math nur über MQTT?

Beitrag von chriseck »

Es funktioniert, war nur noch ein kleiner Rechtschreibfehler drin.
Danke

<?php

if ($GeraeteNummer==1)
{
$HM_Var = array();
$HM_Var["Batterie_SOC"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung"] = $aktuelleDaten["PV"]["Leistung"];}

if ($GeraeteNummer==2)
{
$HM_Var = array();
$HM_Var["Batterie_SOC2"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp2"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V2"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid2"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung2"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung2"] = $aktuelleDaten["PV"]["Leistung"];}
?>

Muffin
Beiträge: 45
Registriert: Do 30. Jun 2022, 07:39
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Multi Regler und _math nur über MQTT?

Beitrag von Muffin »

Hallo zusammen,

ich bin die ganze zeit auf der suche nach Unterstützung für die math.php für 2 Huawei WR.

Kann ich diese math.php dafür verwenden?

In der Gerätenummer kommt dann bestimmt die 1.User Nummer rein richtig?

müssen da noch andere Werte mit eingebunden werden?
Ich finde leider keine math.php für Huawei im Forum.

laut dem Forum müssen bei Huawei alle Daten vom WR summiert werden und daraus den richtigen verbrauch zu errechnen.

Oder kann mir auch jemand eine richtige PHP erstellen?

<?php

if ($Geraetenummer==1)
{
$HM_Var = array();
$HM_Var["Batterie_SOC"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung"] = $aktuelleDaten["PV"]["Leistung"];}

if ($Geraetenummer==2)
{
$HM_Var = array();
$HM_Var["Batterie_SOC2"] = $aktuelleDaten["Batterie"]["SOC"];
$HM_Var["Batterie_Temp2"] = $aktuelleDaten["Batterie"]["Temperatur"];
$HM_Var["Batterie_V2"] = $aktuelleDaten["Batterie"]["Spannung"];
$HM_Var["Microgrid2"] = $aktuelleDaten["AC"]["MicroInput"];
$HM_Var["Netz_Leistung2"] = $aktuelleDaten["Netz"]["Leistung"];
$HM_Var["PV_Leistung2"] = $aktuelleDaten["PV"]["Leistung"];}


?>

Antworten

Zurück zu „Multi-Regler-Version [ bis zu 6 Geräten an einem Raspberry Pi ]“