Sonoff POW R2 mit Tasmota Firmware als Messstelle

Ü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: 1136
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 165 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von Bogeyof »

MQTT wird nicht benutzt, daher kann es das nicht sein. Ein Passwort für die Weboberfläche habe ich nicht gesetzt, daher weiß ich das nicht genau, aber die Vermutung liegt nahe, dass es daran liegt.
Vermutlich kann man die Kombination User/Passwort beim Aufruf mit angeben, das müsste man halt googeln wie genau und den Aufruf dann entsprechend anpassen, wenn Du es behalten willst...

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Ganz vielen Dank, das hätte ich ohne Deine Hilfe nicht gefunden.


mit

$ch = curl_init("http://192.168.1.191/cm?user=admin&password=password"); // cURL initialisieren

funktioniert es nun, das Log ist ohne Fehlermeldung.

Zur Info für alle, die ein Passwort für die Weboberfläche gesetzt haben :-)


In Grafana finde ich jetzt die Werte wo ?

Habs: Data Source = Solaranzeige dort unter Energy

Danke nochmal und LG

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Hoffentlich letzte Frage:

Wenn ich die Werte vongesternhinzufügen will, muss das dann so aussehen ? Es klappt zwar laut LOG, hab aber keinen datenfield zum anwählen in Grafana:

<?php
/******************************************************************************
// Hie können eigene Berechnungen gemacht werden, wenn das nötig ist.
******************************************************************************/

$ch = curl_init("http://192.168.1.191/cm?user=admin&password=password"); // cURL initialisieren
curl_setopt($ch, CURLOPT_HEADER, 0); // Header soll nicht in Ausgabe enthalten sein
curl_setopt($ch, CURLOPT_POST, 1); // POST-Request wird abgesetzt
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'cmnd=Status%208'); // POST-Felder festlegen, die gesendet werden sollen
$EnergyStr = curl_exec($ch); // Ausfuehren
curl_close($ch); // Objekt schliessen und Ressourcen freigeben
$funktionen->log_schreiben("Antwort Nous-191: " . $EnergyStr, " ", 6 );
if (empty($EnergyStr)) {
$aktuelleDaten["Query"] = "db=" . $InfluxDBLokal . "&q=" . urlencode("select last(Tasmota-191-Total) from Energy");
$rc = $funktionen->po_influxdb_lesen($aktuelleDaten);
$aktuelleDaten["Tasmota-191-Total"] = $rc["results"][0]["series"][0]["values"][0][1];
$aktuelleDaten["Tasmota-191-Yesterday"] = 0;
$aktuelleDaten["Tasmota-191-Today"] = 0;
//$aktuelleDaten["Tasmota-191-Total"] = 0;
$aktuelleDaten["Tasmota-191-Cur"] = 0;
} else {
$EnergyA = json_decode($EnergyStr, true);
$aktuelleDaten["Tasmota-191-Today"] = $EnergyA["StatusSNS"]["ENERGY"]["Today"] * 1000;
$aktuelleDaten["Tasmota-191-Yesterday"] = $EnergyA["StatusSNS"]["ENERGY"]["Yesterday"] * 1000;
$aktuelleDaten["Tasmota-191-Total"] = $EnergyA["StatusSNS"]["ENERGY"]["Total"] * 1000;
$aktuelleDaten["Tasmota-191-Cur"] = $EnergyA["StatusSNS"]["ENERGY"]["Power"];
}


// Erstellen der Zusatzquery, damit die Werte in die Datenbank geschrieben werden
$aktuelleDaten["ZusatzQuery"] = "Energy ";
$aktuelleDaten["ZusatzQuery"] .= "Tasmota-191-Today=" . $aktuelleDaten["Tasmota-191-Today"];
$aktuelleDaten["ZusatzQuery"] .= "Tasmota-191-Yesterday=" . $aktuelleDaten["Tasmota-191-Yesterday"];
$aktuelleDaten["ZusatzQuery"] .= ",Tasmota-191-Total=" . $aktuelleDaten["Tasmota-191-Total"];
$aktuelleDaten["ZusatzQuery"] .= ",Tasmota-191-Cur=" . $aktuelleDaten["Tasmota-191-Cur"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];

return;
?>

Bogeyof
Beiträge: 1136
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 165 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von Bogeyof »

Da fehlt ein Komma in der ZusatzQuery:

Code: Alles auswählen

$aktuelleDaten["ZusatzQuery"] .= ",Tasmota-191-Yesterday=" . $aktuelleDaten["Tasmota-191-Yesterday"];

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Danke, das war es.

Prinzipiell wird beimir die ganze Steuerung alles bisher von EVCC gemacht, diese hat allerdings keine richtige Datenaufzeichnung und Darstellung.

Mit Solaranzeige habe ich ja jetzt eine Top Übersicht über meinen E3DC.
Geplant ist eine Übersichtseite mit E3DC, Tasmota Steckdosen und mehr.

Das mehr wäre diverse Modbus Zähler, sowie die Go-E Charger, eventuell die E-Autos.

Multiregler bringt mir ja da nix, weil ich nix regeln will sondern nur Daten Aufzeichnen und Darstellen.
SO wie das Sript für Tasmota - das reicht.

Ginge das auch so ? Oder besser über Mqtt in Grafana einbinden.

Bogeyof
Beiträge: 1136
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 165 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von Bogeyof »

Multiregler steht eigentlich nur für "mehrere Geräte", geregelt wird da erst einmal nichts, ist nur für Datenaufzeichnung und Darstellung gedacht.
Der Einsatz von eigenen Reglern (Geräte) und von einer eigenen _math.php für diverse einfache Abfragen von anderen Geräten hängt von der Komplexität ab. Einen Regler für GO-E gibt's wahrscheinlich schon und ist damit viel einfacher zu nutzen als das selbst zu programmieren. Auch für ModBus Zähler könnte es leichter sein, vorhandenes zu nutzen.
Das Problem ist, MQTT ist toll, aber es fehlt die Schnittstelle, die diese Daten in die Influx-Datenbank schreibt. Grafana kann nicht direkt Daten von MQTT erhalten (soweit ich weiß) sondern liest diese eben aus der Datenbank. Hier musst Du dann eine Schnittstelle erstellen oder du nutzt Standardtools wie z.B. Telegraf, die so etwas automatisieren können.
Einzelne wenige Daten können auch in Solaranzeige über MQTT empfangen und in die Datenbank gesendet werden (Einträge in der x.user.config.php), da musst Du Dir die Anleitung dazu ansehen. Ist aber nicht dazu gedacht, alle Daten eines Gerätes zu speichern, jedes Datenfeld muss einzeln konfiguriert werden.
Was Du machen möchtest ist möglich, aber Du wirst einiges selbst erstellen müssen, der Standard von Solaranzeige deckt das nicht komplett ab...

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Hi,
leider ein neues Problem:

Ich hab jetzt noch 3 weitere Tasmota Schalter hinzugefügt.
Nach langer Fehlersuche kann ich jetzt sagen er nimmt und schreibt immer nur den letzten Block in die INFLUXDatabase auf.

Hab die Blöcke mal durchgetauscht, dann wird immer der letzte angelegt. Aber auch nur dieser bekommt ein update.

Im Log ist kein Fehler erkennbar, Daten werden ausgelesen und "Daten zur lokalen InfluxDB [ solaranzeige ] gesendet."

Ich kann aber dann unter Datasource Solaranzeige, Ordner Energy nur den letzten anwählen ? die anderen sind einfach nicht da.

Woran kann das liegen ?

Die e3dc_wechselrichter_math.php im Anhang, wird hier sonst zu voll :-)
Dateianhänge
e3dc_wechselrichter_math.php
(8.82 KiB) 46-mal heruntergeladen

Bogeyof
Beiträge: 1136
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 165 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von Bogeyof »

Das ist einfach, hier kämpfst Du mit PHP. Bei Deiner Schreibweise überschreibst Du jeweils die Variable $aktuelleDaten["ZusatzQuery"] und damit bleibt nur der letzte Eintrag übrig. Ein Anhängen an den bestehenden Inhalt der Variable erfolgt jeweils mit "$aktuelleDaten["ZusatzQuery"] .= ..." (der Punkt vor dem = ist wichtig), wird der Punkt weggelassen wird der Inhalt der Variablen wieder neu überschrieben.
Im Anhang mal eine geänderte Version...
Dateianhänge
e3dc_wechselrichter_math.php
(8.23 KiB) 35-mal heruntergeladen

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Danke,

jetzt geht es. Kling im Nachhinein auch logisch :-)
Gruß

UNCLE03
Beiträge: 16
Registriert: Di 9. Mär 2021, 18:04
Hat sich bedankt: 9 Mal

Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle

Beitrag von UNCLE03 »

Noch eine Frage,

ich würdegerne von allenTasmota Geräten eine Tabelle machen.

Wie kann ich jetzt so etwas mit Grafana erstellen ?
Ein einzelnes STAT Fenster pro Gerät ist das ja nicht, und mit Tabelle komme ich nicht weiter.
1651120084246-beispiel.png

Danke für jede Hilfe

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“