Sonoff POW R2 mit Tasmota Firmware als Messstelle
Moderator: Ulrich
-
- Beiträge: 1122
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 137 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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...
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...
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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![Lächeln :-)](./images/smilies/icon_e_smile.gif)
In Grafana finde ich jetzt die Werte wo ?
Habs: Data Source = Solaranzeige dort unter Energy
Danke nochmal und LG
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
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
In Grafana finde ich jetzt die Werte wo ?
Habs: Data Source = Solaranzeige dort unter Energy
Danke nochmal und LG
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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;
?>
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;
?>
-
- Beiträge: 1122
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 137 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Da fehlt ein Komma in der ZusatzQuery:
Code: Alles auswählen
$aktuelleDaten["ZusatzQuery"] .= ",Tasmota-191-Yesterday=" . $aktuelleDaten["Tasmota-191-Yesterday"];
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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.
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.
-
- Beiträge: 1122
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 137 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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...
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...
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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![Lächeln :-)](./images/smilies/icon_e_smile.gif)
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
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
- Dateianhänge
-
- e3dc_wechselrichter_math.php
- (8.82 KiB) 35-mal heruntergeladen
-
- Beiträge: 1122
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 137 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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...
Im Anhang mal eine geänderte Version...
- Dateianhänge
-
- e3dc_wechselrichter_math.php
- (8.23 KiB) 25-mal heruntergeladen
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Danke,
jetzt geht es. Kling im Nachhinein auch logisch![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Gruß
jetzt geht es. Kling im Nachhinein auch logisch
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Gruß
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
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.
Danke für jede Hilfe
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.
Danke für jede Hilfe
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste