Die Sonoff_mqtt_math bringt mich zum verzweifeln

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

Moderator: Ulrich

Antworten
SörenB
Beiträge: 5
Registriert: So 16. Okt 2022, 21:10
Hat sich bedankt: 2 Mal

Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von SörenB »

Hallo zusammen,

Ich bin vor Kurzem auf die Solaranzeige gestoßen.
Das was Ulrich hier auf die Beine gestellt hat ist wirklich ein super Projekt.
Obwohl ich mich nicht gut mit Linux auskenne, habe ich es geschafft alles gut einzurichten und sogar in Grafana alles
einzustellen.
Jetzt habe ich allerdings ein Problem.
Ich habe ein math script aus dem Forum kopiert um mit meinem Sonoff ein Tages-Gestern und Gesamt- Panel zu machen.
Jetzt will ich noch eine Abfrage für die Temperatur des Raspi einfügen aber es funktioniert nicht.
Entweder bekomme ich die Daten für die Tagesleistung oder die Temperatur vom Raspi??
Php Fehler gibt es keine im LOG.
Könnte sich bitte jemand mein zusammenkopiertes Script mal durchschauen und mir zeigen
was ich falsch gemacht habe.

mfg Sören
mqqtt-math-export.txt
(3.17 KiB) 13-mal heruntergeladen

solarfanenrico
Beiträge: 655
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 40 Mal
Danksagung erhalten: 53 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von solarfanenrico »

Hallo,
soweit mir bekannt ist kann man mit einem Zusatzquery-String nur in ein Measurement eintragen.
Dann müte man die RaspiTemp mit einer extra sonoff_mqtt_math1.php regeln.
Hierzu müßte man dann allerdings seine sonoff_mqtt.php ändern, und gegen solaranzeige-update schützen.
Vieleicht geht allerdings auch das einfache Einfügen wie unten angezeigt.
// Erstellen der Zusatzquery, damit die Werte in die Datenbank geschrieben werden
$aktuelleDaten["ZusatzQuery"] = "Energy";
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZToday=" . $aktuelleDaten["TasmotaWZToday"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZYesterday=" . $aktuelleDaten["TasmotaWZYesterday"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZTotal=" . $aktuelleDaten["TasmotaWZTotal"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZCur=" . $aktuelleDaten["TasmotaWZCur"];
$aktuelleDaten["ZusatzQuery"] = ",Service";
$aktuelleDaten["ZusatzQuery"] .= ",RaspiTemp=".round($RaspiTemp,1);
$aktuelleDaten["ZusatzQuery"] .= " ". $aktuelleDaten["zentralerTimestamp"];
Wenn dann die Temperatur nicht ins Service geschrieben wird, oder eine Fehlermeldung kommt, die Zeile mit dem Service löschen.
Da die Raspitemperatur mit der ....auslesen.php beritgestellt wird, würde die Temperatur auf diese Art im Measurement Energy landen.

Enrico

Bogeyof
Beiträge: 983
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 18 Mal
Danksagung erhalten: 127 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von Bogeyof »

Nein Enrico so geht´s nicht...

Der Fehler lag im Komma bei ersten Wert und dem fehlenden Punkt bei der 2. Zusatzquery, der dafür sorgt dass der erste Teil nicht überschrieben wird, sondern der zweite Teil angehängt wird... (einfach so kopieren)

Code: Alles auswählen

// Erstellen der Zusatzquery, damit die Werte in die Datenbank geschrieben werden
$aktuelleDaten["ZusatzQuery"] = "Energy ";
$aktuelleDaten["ZusatzQuery"] .= "TasmotaWZToday=" . $aktuelleDaten["TasmotaWZToday"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZYesterday=" . $aktuelleDaten["TasmotaWZYesterday"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZTotal=" . $aktuelleDaten["TasmotaWZTotal"];
$aktuelleDaten["ZusatzQuery"] .= ",TasmotaWZCur=" . $aktuelleDaten["TasmotaWZCur"];
$aktuelleDaten["ZusatzQuery"] .= " ". $aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";	




/*****************************************************************************
//  Raspberry Temperatur in die Infux Datenbank speichern
//  Die Temperatur steckt in der Variable $RaspiTemp
*****************************************************************************/
//  So wird die Zusatz Query zusammengestellt.
//  Alle Daten werden in die aktuelle Datenbank des Gerätes in das Measurement "Service" geschrieben
//  Der Zeitstempel ist der 'zentrale Timestempel'
//  Damit ist die Visualisierung in Grafana sehr einfach.

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

solarfanenrico
Beiträge: 655
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 40 Mal
Danksagung erhalten: 53 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von solarfanenrico »

Hallo Bogeyof,
danke für die Richtigstellung, Man lernt auch durch falsche Antworten.
Der Verzweifelnde hätte sich sicher auch schon eher über diese Antwort gefreut.


Enrico

SörenB
Beiträge: 5
Registriert: So 16. Okt 2022, 21:10
Hat sich bedankt: 2 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von SörenB »

Hallo Bogeyof

Vielen vielen Dank.
Ich habe 4 Tage lang alles mögliche an Schreibweisen probiert und hatte keinen Erfolg.
Jetzt bin ich richtig froh, dass alles richtig funktioniert.
Gibt es eigentlich eine einfache Abhandlung über die Schreibweisen und die Bedeutung der Satz-Zeichen für den Aufbau
solcher Scripte?

Mfg Sören

Bogeyof
Beiträge: 983
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 18 Mal
Danksagung erhalten: 127 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von Bogeyof »

Nein, ich befürchte nicht. Ich konnte auch kein PHP und habe mit Hilfe des Internets, speziell www.php.net, die Befehle, Schreibweisen und Anwendung ergoogelt/erlernt...
Ansonsten hilft Abschauen, es wird ja auch viel in Ulrichs Skripten der Solaranzeige verwendet, was man selbst dann auch wieder brauchen kann

SörenB
Beiträge: 5
Registriert: So 16. Okt 2022, 21:10
Hat sich bedankt: 2 Mal

Re: Die Sonoff_mqtt_math bringt mich zum verzweifeln

Beitrag von SörenB »

Das ist schade das es da nichts einfaches gibt.
Mit google usw. hab ich ja gemacht es hat mich aber meist mehr verwirrt als geholfen.
Aber dank der guten und genauen Anleitungen von Ulrich bin ich überhaupt so gut klar gekommen.
Und dieses Forum ist auch sehr angenehm im Umgang miteinander und die Infos überaus hilfreich.

Antworten