Panasonic Aquarea Wärmepumpe auslesen und steuern

Ü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

Bogeyof
Beiträge: 1019
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 136 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von Bogeyof »

OK, auch wenn die Daten später mal in einem anderen Measurement oder in einer anderen Datenbank ankommen, so ist die angehängte Änderung Deiner shelly_math.php doch leicht anzupassen, das bekommst Du hin.
Aktuell liest sie aus der Datenbank "solaranzeige" aus den angegebenen Measurements jeweils das Feld "value" und dividiert diese. Die Division jedes Wertes durch 60 ist überflüssig, da sie sich herauskürzt.
Das Ergebnis wird als AktCOP in die Datenbank des Shelly unter dem Measurement WP geschrieben.
Damit sollte es erst einmal funktionieren, analog kannst Du natürlich noch weitere Berechnungen erweitern und speichern...

Ein gutes Neues...
Dateianhänge
shelly_math.php
(4.7 KiB) 23-mal heruntergeladen

RainerL
Beiträge: 16
Registriert: Fr 30. Jul 2021, 10:25
Wohnort: Berlin
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von RainerL »

Lieben Dank, das hört sich gut an.

Ich wünsche Dir auch einen guten Rutsch ins Neue Jahr.

Leider kommt noch ein Syntax Error in Zeile 63 Dort stehen zwei ..
[31-Dec-2022 17:08:08 Europe/Berlin] PHP Parse error: syntax error, unexpected '.', expecting end of file in /var/www/html/shelly_math.php on line 63

Bogeyof
Beiträge: 1019
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 136 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von Bogeyof »

Stimmt. Aber wenn Du Deine ursprüngliche shelly_math.php herunterlädst, dann sind die auch schon drin (Zeile 53). Ich habe die nicht hineingeschrieben und ich kann die shelly_math.php ja auch nicht testen (passen die Daten nicht).
Also ich denke das sollte mal heißen, da soll es hin oder da wurde ein Teil herausgenommen. Erst mal die beiden Punkte löschen...

RainerL
Beiträge: 16
Registriert: Fr 30. Jul 2021, 10:25
Wohnort: Berlin
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von RainerL »

Hallo @bogeyof,

alles Gute zum Neuen Jahr und vielen Dank für Deine Hilfe. Das hätte ich mangels php Kenntnissen nie hinbekommen.
Die Punkte habe ich mir wohl beim Kopieren/Einfügen irgendwie eingehandelt, MCEdit ist da nicht sehr komfortabel.
Erinnert irgendwie an den ersten Norton Commander, wobei der besser zu bedienen war.
Das eigentliche Problem waren aber die Punkte in den Namen der Measurements die der IOB Influx Adapter erzeugt, da IOB den Punkt statt Slash verwendet. Deshalb lief das script nicht.
Habe nun die beiden Datenpunkte in IOB mit einem Alias benannt, so dass ich einen select FROM Alias machen kann der keine Punkte enthält.
Nun läuft es. Hier das Ergebnis. Da siehst Du auch warum mir das wichtig war und Du kennst ja auch die Diskussion aus dem PV Forum.
Dasch_WP.jpg

pvToni
Beiträge: 9
Registriert: Di 16. Aug 2022, 20:20
Hat sich bedankt: 4 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von pvToni »

RainerL hat geschrieben:
Fr 30. Dez 2022, 20:03
IOB hat einen Influx Adapter um in eine Influx DB zu schreiben.
In der DB Solaranzeige habe ich die Werte drin. Genausogut kann ich sie aber auch in die Influx Shelly schreiben.
Show Measurements aus Solaranzeige gibt aus:

mbus.1.EFE-24650364.data.3-0-Current
mbus.1.EFE-24650364.data.5-0-Current
mbus.1.EFE-24650364.data.7-0-Current
mbus.1.EFE-24650364.data.8-0-Current
mbus.1.EFE-24650364.data.9-0-Current
mqtt.0.shellies.shellyem3-349454747B0A.emeter.1.energy
Frage, wie hast du es gemacht das du von iobroker in die solaranzeige influxdb schreiben kannst?

influxdb.0
2023-01-04 12:26:29.256 error Error: error authorizing query: no user provided
influxdb.0
2023-01-04 12:26:29.253 info Influx DB Version used: 1.x
influxdb.0
2023-01-04 12:26:29.253 info Connecting http://192.168.11.51:8086/ ...
influxdb.0

in der influxdb von solaranzeige ist auth nicht enabled
# auth-enabled = false
hast du das enabled? oder wie hast du es hinbekommen?

Bogeyof
Beiträge: 1019
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 136 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von Bogeyof »

Man kann auch mit Grafana eine interaktive Steuerung über Heishamon für die Panasonic WP aufbauen:
Screenshot 2023-01-09 141326.png
In den oberen Feldern können die vorher ausgelesenen Werte auch überschrieben werden und mit den Buttons können diese Werte sowie einige weitere Aktionen dann direkt gesetzt werden. Macht das Bedienen und Testen der WP wieder etwas leichter...

Ich hänge gerne das Dashboard an, aber dieses hat noch einige eigenen Datenfelder, so dass dies ohne Änderung nur bei mir funktionieren kann. Aber man kann sehen, wie die Buttons und die Parameterübergabe sowie der Aufruf von Heishamon funktioniert...
Dateianhänge
WP Settings.json
(697.41 KiB) 24-mal heruntergeladen

RainerL
Beiträge: 16
Registriert: Fr 30. Jul 2021, 10:25
Wohnort: Berlin
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von RainerL »

@pvToni Sorry, habe Deine Frage leider gerade erst gesehen.

Du musst die Instanz der influxdb.0 im IOBroker mit dem User pi und dem Kennwort solaranzeige starten damit Du in die Influx schreiben kannst.

Bogeyof
Beiträge: 1019
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 136 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von Bogeyof »

Monats- / Jahresübersicht hatte ich noch nicht, habe ich aber in der letzten Stunde mal schnell erstellt:

WP_2022_LT.png

Wie immer sind da natürlich Spezialfelder von mir mit drin, die nicht jeder hat...



Grafana kann leider keine monatlichen Summierungen und hier musste ein Trick her. Ich habe dazu in den Statistikdaten von Solaranzeige Korr1 bis Korr12 eingetragen, mit diesen kann ich ausgehend vom aktuellen Monat immer korrekt die letzten 12 Monate anzeigen. Wenn es also gerade Juli 23 wäre, dann würde er von August 22 bis Juli 23 anzeigen. Immer automatisch. Daher aktuell auch die Anzeige von Januar(23) bis Dezember(22), WP kam erst im Juli, daher sind die Monate ohne Werte automatisch ausgeblendet.



Leider bedeutet dies einen Eingriff in Solaranzeige in die funktionen.inc.php um diese Werte zu speichern (siehe Code, abgesetzter Teil mit while-Schleife). Man könnte sich die Werte aber auch mit einer _math.php in eine beliebige Datenbank schreiben und im Dashboard dann halt die Variablen aus dieser Datenbank versorgen (um den Update von Solaranzeige nicht zu stören, bei mir egal, ich habe schon zu viele Abweichungen).

Code: Alles auswählen

  /**************************************************************************
  //  Daten in die lokale Influx Datenbank schreiben
  //
  //
  **************************************************************************/
  function influx_local( $daten ) {
    $query = "";
    if (!isset($daten["InfluxDBLokal"])) {
      $daten["InfluxDBLokal"] = "solaranzeige";
    }
    if (!isset($daten["zentralerTimestamp"])) {
      $daten["zentralerTimestamp"] = time( );
    }
    //  Jetzt müssen die Daten in die lokale InfluxDB übertragen werden.
    //
    //  Zuerst die Statistikdaten übertragen. Einmal am Tage um 23:58 Uhr.
    if (date( "i" ) == '00' or date( "i" ) == '10' or date( "i" ) == '20' or date( "i" ) == '30' or date( "i" ) == '40' or date( "i" ) == '50') {
      // if (1 == 1) {
      //$this->log_schreiben("Aktuelle Statistik:\n".print_r($daten,1),"   ",9);
      
      $this->log_schreiben( "Alle 10 Minuten werden die Statistikdaten übertragen.", "   ", 5 );
      $query = "Statistik Bezeichnung=\"WhTag\",Datum=\"".$daten['Datum']."\",Woche=".$daten['Woche'].",Monat=".$daten['Monat'];
      $query .= ",Wert=".$daten["WattstundenGesamtHeute"].",Wochentag=\"".$daten['Wochentag']."\"";
      $query .= ",Heute_TS=".mktime( 0, 0, 0, date( "m" ), date( "d" ), date( "Y" ))."000000000";
      $query .= ",Gestern_TS=".mktime( 0, 0, 0, date( "m" ), date( "d" ) - 1, date( "Y" ))."000000000";
      $query .= ",DiesesJahr_TS=".mktime( 0, 0, 0, 1, 1, date( "Y" ))."000000000";
      $query .= ",LetztesJahr_TS=".mktime( 0, 0, 0, 1, 1, date( "Y" ) - 1 )."000000000";
      $query .= ",DieserMonat_TS=".mktime( 0, 0, 0, date( "m" ), 1, date( "Y" ))."000000000";
      $query .= ",LetzterMonat_TS=".mktime( 0, 0, 0, date( "m" ) - 1, 1, date( "Y" ))."000000000";
      $query .= ",DieseWoche_TS=".strtotime( "last monday", strtotime( "tomorrow" ))."000000000";
      $query .= ",LetzteWoche_TS=".strtotime( "last monday -7 days", strtotime( "tomorrow" ))."000000000";
      $query .= ",HeuteVJ_TS=".mktime( 0, 0, 0, date( "m" ), date( "d" ), date( "Y" ) - 1 )."000000000";
      $query .= ",TagImMonat=".date( "j" );
      $query .= ",TagImJahr=".(date( "z" ) + 1);
      $query .= ",Jahr=".date( "Y" );
      $query .= ",Stunde=".date( "G" );




      // Monatskorrektur für Jahresübersicht
      $ix = date("n") + 1;
      $i = 1;
      do {
        if ($i < $ix) {
           $query .= ",Korr".$i."=0"; 
          }
          else {
           $query .= ",Korr".$i."=1"; 
        }   
        $i++;
      } while ($i < 13);      



      $query .= "  ".$daten["zentralerTimestamp"];
Dateianhänge
Panasonic WP LT.json
(215.81 KiB) 10-mal heruntergeladen

RainerL
Beiträge: 16
Registriert: Fr 30. Jul 2021, 10:25
Wohnort: Berlin
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von RainerL »

@bogeyof: Sehr sehr cool, vielen vielen Dank. Das ist schon hoher Level den Du da aus der Feder fließen lässt. Hatte zu dem Influx Problem mit den Jahreswerten gelesen und erkannt das ich da nichts hinbekomme. Deine Lösung habe ich problemlos zum laufen gebracht. Dank dafür.

skalp
Beiträge: 1
Registriert: Do 19. Jan 2023, 23:18

Re: Panasonic Aquarea Wärmepumpe auslesen und steuern

Beitrag von skalp »

hi,
ist NodeRed_Heishamon_control bekannt ? Dashboard und Steuerung sind da schon dabei
Grüße

Antworten