Eigene Erweiterung - Formatierungsfehler im log

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

Antworten
gudwih
Beiträge: 57
Registriert: Di 6. Apr 2021, 14:24
Wohnort: am Bodensee
Hat sich bedankt: 13 Mal
Danksagung erhalten: 5 Mal

Eigene Erweiterung - Formatierungsfehler im log

Beitrag von gudwih »

Hallo,
ich bekomme zwar meine Werte aus der _math.php in die Influxdb, im Solaranzeige.log, sieht das Format aber grausig aus.
Das ist vermutlich nur Kosmetik, trotzdem hätte ich es gerne bereinigt und am Ende zumindest in etwa verstanden was ich falsch gemacht habe. Da gibts bestimmt genug, denn PHP kann ich ja nicht :(...
Könntet Ihr bitte mal draufschauen?

Code: Alles auswählen

<?php

$funktionen->log_schreiben("Goodwe_wr_math.php durchlaufen.","   ",1);

//  So wird ein Register ausgelesen
$Befehl["DeviceID"] = "F7";   
$Befehl["BefehlFunctionCode"] = "03";
$Befehl["RegisterAddress"] = "0530";   
$Befehl["RegisterCount"] = "0001";
$rc = $funktionen->phocos_pv18_auslesen($USB1,$Befehl);
$aktuelleDaten["Backup_Load_Power"] = hexdec($rc["data"]);


//  Setzen des Vorzeichens
$aktuelleDaten["Batterie_Ladung"] = 0;
$aktuelleDaten["Batterie_Entladung"]= 0;
if ($aktuelleDaten["Batterie_Mode"] == 3){
  $aktuelleDaten["Batterie_Ladung"]= $aktuelleDaten["Batterie_Leistung"];
}
if ($aktuelleDaten["Batterie_Mode"] == 2){
  $aktuelleDaten["Batterie_Entladung"] = $aktuelleDaten["Batterie_Leistung"];
}

//  So wird die Zusatz Query zusammengestellt.
//  Am Anfang steht das Measurement "AC" Danach muss eine Leerstelle kommen.
//  Dann Feldname=Wert,Feldname=Wert,usw...
//  Alle Daten werden in die Datenbank des Goodwe WR geschrieben.
//  Der Zeitstempel ist der 'zentrale Timestempel'
//  Damit ist die Visualisierung in Grafana sehr einfach.
$aktuelleDaten["ZusatzQuery"]  = "AC BackupLoadPower=".$aktuelleDaten["Backup_Load_Power"];
$aktuelleDaten["ZusatzQuery"] .= "   ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "Batterie Ladung=".$aktuelleDaten["Batterie_Ladung"];
$aktuelleDaten["ZusatzQuery"] .= "   ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "Batterie Entladung=".$aktuelleDaten["Batterie_Entladung"];
$aktuelleDaten["ZusatzQuery"] .= "   ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "Service RaspiTemp=".round($RaspiTemp,1);
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";

// wenn alle ausgelesenen Daten auch in der solaranzeige.log angezeigt werden sollen den Doppelslash (//)entfernen
$funktionen->log_schreiben(print_r($aktuelleDaten,1)," ",1);


return;
?>
Das Log :

Code: Alles auswählen

    [Regler] => 52
    [Objekt] => MC-City
    [Produkt] => Goodwe
    [Backup_Load_Power] => 121
    [Batterie_Ladung] => 0
    [Batterie_Entladung] => 545
    [ZusatzQuery] => AC BackupLoadPower=121   1641917861
Batterie Ladung=0   1641917861
Batterie Entladung=545   1641917861
Service RaspiTemp=45 1641917861
    [Timestamp] => 1641917848
    [Monat] => 1
    [Woche] => 02
    [Wochentag] => Dienstag
    [Datum] => 11.01.2022
    [Uhrzeit] => 17:17:28
    [InfluxAdresse] => 192.168.178.54
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)

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

Re: Eigene Erweiterung - Formatierungsfehler im log

Beitrag von Ulrich »

Verschiebe diese Zeile

Code: Alles auswählen

  $funktionen->log_schreiben(print_r($aktuelleDaten,1),"*- ",7);  
vor diesen Block:

Code: Alles auswählen

  /****************************************************************************
  //  User PHP Script, falls gewünscht oder nötig
  ****************************************************************************/
  if ( file_exists ("/var/www/html/Goodwe_wr_math.php")) {
    include 'Goodwe_wr_math.php';  // Falls etwas neu berechnet werden muss.
  }

der darf nicht danach kommen.
--------------------------------------
Ulrich [Admin]

gudwih
Beiträge: 57
Registriert: Di 6. Apr 2021, 14:24
Wohnort: am Bodensee
Hat sich bedankt: 13 Mal
Danksagung erhalten: 5 Mal

Re: Eigene Erweiterung - Formatierungsfehler im log

Beitrag von gudwih »

Hallo Ulrich, ich steh noch auf dem Schlauch...
muss ich das in der goodwe_wr.php machen?

die von Dir genannte Zeile :

Code: Alles auswählen

$funktionen->log_schreiben(print_r($aktuelleDaten,1),"*- ",7);  
sieht bei mir so aus:

Code: Alles auswählen

  if ($i == 1)
  $funktionen->log_schreiben(print_r($aktuelleDaten,1),"   ",8);
[/code]
bzw:

Code: Alles auswählen

  /****************************************************************************
  //  User PHP Script, falls gewünscht oder nötig
  ****************************************************************************/
  if ( file_exists ("/var/www/html/goodwe_wr_math.php")) {
    include 'goodwe_wr_math.php';  // Falls etwas neu berechnet werden muss.
  }
  if ($i == 1)
  $funktionen->log_schreiben(print_r($aktuelleDaten,1),"   ",8);
Wenn ich hier die letzte Zeile nach vorne nehme ändert sich nichts.
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)

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

Re: Eigene Erweiterung - Formatierungsfehler im log

Beitrag von Ulrich »

Du willst die Daten im LOG File sehen?

ändere es so ab
vorher

Code: Alles auswählen

  if ($i == 1)
  $funktionen->log_schreiben(print_r($aktuelleDaten,1),"   ",8);
nachher

Code: Alles auswählen

  $funktionen->log_schreiben(print_r($aktuelleDaten,1),"   ",7);
Die erste Zeile einfach löschen.
Ob da Leerstellen am Anfang sind oder nicht ist egal.

Auf die 7 am Schluß achten!
--------------------------------------
Ulrich [Admin]

Antworten