Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Tasmota Stromzähler Support in Ahoy #606

Open
17 tasks
gandalfred opened this issue Jan 20, 2023 · 84 comments
Open
17 tasks

Feature Request: Tasmota Stromzähler Support in Ahoy #606

gandalfred opened this issue Jan 20, 2023 · 84 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@gandalfred
Copy link

Hardware

  • [x ] ESP8266
  • ESP32
  • Raspberry Pi

Modelname: ______
Retailer URL: ______

nRF24L01+ Module

  • nRF24L01+ you verified this is a Plus model capable of the required 256kBit/s mode
  • square dot indicates original Nordic Semicon chip
  • round dot indicates copy-cat / counterfeit SI labs chip

Antenna:

  • [x ] circuit board
  • external antenna

Power Stabilization:

  • 100uF Electrolytic Capacitor
    connected between +3.3V and GND (Pin 1 & 2) of the NRF Module
  • Voltage stabilizing motherboard

Connection diagram:

  • Image of the your wiring attached

Connection diagram I used:

nRF24L01+ Pin ESP8266 GPIO
Pin 1 GND [*] GND
Pin 2 +3.3V +3.3V
Pin 3 CE GPIO2 CE D4
Pin 4 CSN GPIO15 CS D8
Pin 5 SCK GPIO14 SCLK D5
Pin 6 MOSI GPIO13 MOSI D7
Pin 7 MISO GPIO12 MISO D6
Pin 8 IRQ GPIO0 IRQ D3

Note: [*] GND Pin 1 has a square mark on the nRF24L01+ module

Software

  • [x ] AhoyDTU
  • OpenDTU

Version / Git SHA:

Version: ..__
Github Hash: _______

Build & Flash Method:

  • Arduino
  • ESP Tools
  • Platform IO

Desktop OS:

  • Linux
  • [ x] Windows
  • Mac OS

Debugging:

  • USB Serial Log (attached)
  • Setup settings (use our templates ... to be added)

Hallo zusammen,
Ich besitze einen Hichi Stromzähler im Stromkasten der über Tasmota den aktuellen Stand der Stromzähler 1.8.0 und 2.8.0 per WLAN auf einer separaten IP darstellen und ausgeben kann. Es wäre toll, wenn man im Ahoy die IP Adresse des Hichi Tasmota Stromzählers eintragen könnte und die Zählerstände 1.8.0 und 2.8.0 sowie der Momentanverbrauch würden im ahoy Web IF angezeigt ohne dass man sich mühsam einen ioBroker aufsetzen muss. So hätte man auf einen Blick alle Strom Verbrauchs-und Erzeugungswerte auf einen Blick in einer Anzeige.
In einem weiteren Schritt könnte man so dann auch eine einfache Nulleinspeisung im Ahoy realisieren indem man den Momentanverbrauch minus momentan Erzeugter Strom rechnet und wenn das negativ ist man den WR entsprechend drosselt um Nulleinspeisung zu realisieren. Der erste Punkt wäre mir aber wichtiger alle Werte an einer Stelle auf einen Blick zu haben. Was meint ihr?
Gruss Steve

@dtuuser
Copy link

dtuuser commented Jan 20, 2023

Hallo Steve,
habe ich auch so am Laufen. Ich frage die Werte über ein eigenes Tool per Webaufruf und Analyse der Webseite ab.
Klappt auch vom Ahoy. Aktuell baue ich an der Logik, wie man das Limit berechnet.
Es ist ja nicht damit getan, wenn der aktuelle Verbrauch ein Minuswert ist, dann setze das Limit am WR auf WRLimitWert minus Verbrauchswert. Sobald der aktuelle Verbrauch wieder im Plus ist, dann muss der WRLimitWert um den Pluswert erhöht werden. Und das WR Limit kann ja über einen gewissen Wert nicht hinaus.
Sobald die Berechnung bei mir plausibel läuft, kann ich das hier posten.

@tqma1
Copy link

tqma1 commented Jan 20, 2023

2.8.0 ist die gesamte Einspeisung
2.7.0 ist die aktuelle Einspeisung - wäre cool hierfür ein Limit setzen zu können z.Bsp. max 150W

@stefan123t stefan123t added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Jan 20, 2023
@stefan123t
Copy link
Collaborator

Klingt nach einem sehr guten Vorschlag. Welche Informationen braucht es denn um den Hichi ESP direkt dirch die AhoyDTU abfragen zu können ?
Da müsste doch im Prinzip der Endpoint als URL genügen bzw. vielleicht noch der Name des gesuchten Wertes den kann man ja im Hichi/ Tasmota Script beliebig benennen.
Wegen der Null oder Maximal-Einspeisung siehe auch #605

@dtuuser
Copy link

dtuuser commented Jan 20, 2023

Aufruf http://IPvomHichi/cm?cmnd=status%208
bringt das als Rückmeldung

{
  "Verbrauch_Summe":1234.56,
  "Einspeisung_Summe":123.45678,
  "Watt_Summe":620,
  "Watt_L1":373.66,
  "Watt_L2":141.66,
  "Watt_L3":104.23,
  "Volt_L1":237.8,
  "Volt_L2":237.2,
  "Volt_L3":236.2
}
}
}

Watt_Summe ist der aktuelle Verbrauch. Bei Einspeisung als Minuswert

@MubiTec
Copy link

MubiTec commented Jan 20, 2023

Echt coole Idee.
Mit http://192.168.178.94/cm?cmnd=status%2010
Bekommt man alle Daten als json:

{
  "StatusSNS":{
    "Time":"2023-01-20T18:14:40",
    "Haus":{
      "Total_in":9935.7223,
      "Total_out":11022.9129,
      "Power_curr":444,
      "Volt_p1":231.4,
      "Volt_p2":230.6,
      "Volt_p3":232.4,
      "Amperage_p1":0.9,
      "Amperage_p2":2.4,
      "Amperage_p3":0.5,
      "phase_angle_p1":-63.0,
      "phase_angle_p2":-51.0,
      "phase_angle_p3":-71.0,
      "frequency":51
    }
  }
}

@MubiTec
Copy link

MubiTec commented Jan 20, 2023

Aufruf http:///cm?cmnd=status%208 bringt das als Rückmeldung {"Verbrauch_Summe":1234.56,"Einspeisung_Summe":123.45678,"Watt_Summe":620,"Watt_L1":373.66,"Watt_L2":141.66,"Watt_L3":104.23,"Volt_L1":237.8,"Volt_L2":237.2,"Volt_L3":236.2}}}

Watt_Summe ist der aktuelle Verbrauch. Bei Einspeisung als Minuswert

Ok, du warst schneller 😅

@dtuuser
Copy link

dtuuser commented Jan 20, 2023

Unter Windows habe ich ein eigenes Tool geschrieben, was die Daten vom Hichi und von Ahoy abrufen.
Nur beim Limit setzen, da muss die genaue Logik noch her. Aber das Setzen vom Limit klappt schon über Curl #586

@tqma1
Copy link

tqma1 commented Jan 20, 2023

Bitte bei der Abfrage flexibel bleiben da Tasmota nicht die alleinige Lösung sein soll, da es die Entschlüsselung der Daten nicht kann ...
Bei mir sieht es so aus (RestAPI) Hardware:SHRDZM
http://192.168.1.8/getLastData?user=xxxxxxx&password=yyyyy
Ergebnis:

{
  "1.8.0":"17708776",
  "2.8.0":"2",
  "3.8.1":"59644",
  "4.8.1":"4552041",
  "1.7.0":"237",
  "2.7.0":"0",
  "3.7.0":"0",
  "4.7.0":"158",
  "1.128.0":"0",
  "uptime":"0000:00:09:13"
}

@Ollipop030
Copy link

Ollipop030 commented Jan 20, 2023

Ich habe einen emlog Lesekopf, wie in #604 schon beschrieben. Hier kommt beim Zugriff auf http://192.168.0.18/pages/getinformation.php?heute&meterindex=1" das hier raus:

{
  "Leistung170":475,
  "Leistung171":0,
  "Leistung172":0,
  "Leistung173":0,
  "Leistung270":0,
  "Leistung271":0,
  "Leistung272":0,
  "Leistung273":0,
  "Waehrung":"EUR",
  "Stand300":null,
  "M300":0,
  "Stand180":0,
  "Stand181":0,
  "Stand182":0,
  "Stand280":0,
  "Stand281":0,
  "Stand282":0,
  "Kwh180":0,
  "Kwh181":0,
  "Kwh182":0,
  "Kwh280":0,
  "Kwh281":0,
  "Kwh282":0,
  "Kwh300":0,
  "Betrag180":0,
  "Betrag181":0,
  "Betrag182":0,
  "Betrag280":0,
  "Betrag281":0,
  "Betrag282":0,
  "Betrag300":0,
  "Metertype":"Strom"
}

Wäre es dann bei der Anzahl an unterschiedlicher Hardware nicht am einfachsten, in der DTU die Adresse mit den json Daten anzugeben, und jeweils den relevanten Wert für 1.7.0 und 2.7.0?

@Adminius
Copy link

Hi @dtuuser mag du schon deinen zwischenstand teilen. Dann muss ich das Rad nicht neu entwickelten.
Ich habe ähnliches vor nur mit anderem "Zähler" #605

@dtuuser
Copy link

dtuuser commented Jan 21, 2023

Hallo Adminius,
Werte von beiden Geräten kann ich abrufen und gehen in die Berechnung.
Aktuell teste ich mit dem Grenzwert von 400Watt, da ich seit November keine Einspeisung bekomme.
Gestern habe ich laut meiner Abfrage keine Werte unterschritten, was eigentlich nicht sein kann.
Ich kann meine Abfrage später hier posten. Vielleicht habe ich etwas übersehen.

@gandalfred
Copy link
Author

Servus Jungs, cool dass es hier soviele Rückmeldungen gibt und ihr schon an entsprechenden Lösungen bastelt. Da es verschiedene Zähler gibt die unterschiedliche Werte ausgeben können wäre es super wenn das generisch berücksichtigt werden könnte. Mein Stromzähler kann zb nur 1.8.0 aktueller Zählerstand Bezug , 2.8.0 bisheriger eingespeiste Leistung und den Momantanverbrauch aufsaldiert anzeigen Er gibt bei mir aber nicht die einzelnen Phasenleistungen an den hichi mit aus. Zähler ist ein easymeter q3b.

@dtuuser
Copy link

dtuuser commented Jan 21, 2023

Hallo Adminius,
bitte nicht erschlagen..... aber ich bin Oldschool..daher VB Code
Die 700 sind für einen HM-700

Das führe ich alle 5 Minuten aus. Da die Limit Änderung bei mir erst 3 Minuten nach dem Setzen, in Ahoy angezeigt wird

z = aktuellerverbrauch 'kommt vom Zähler über Hichi
wr2 = einspeisungwr2 'kommt vom Ahoy
If z < 0 Then 'wenn aktueller Verbrauch < 0...also EInspeisung
If wr2 + z > 10 Then 'wenn erzeugte Leiszung + (negativen Zählerwert) >10 die 10 habe ich als Minimum Limit
limit_wr2 = wr2 + z ' dann Limit vom WR = aktuelle Erzeugung + (negativem Zählerwert)
Else ' falls WR2 + (negativem Zählerwert) <10
limit_wr2 = 10 ' dann Limit WR auf 10
End If
End If
' ab hier, falls ein Limit am WR eingestellt wurde
If wr2 < z And limit_wr2_set < 700 Then ' aktuelle Erzeugung < aktuellen Verbrauch und das Limit am WR <700
limit_wr2 = z ' Limit WR = aktuellen Verbrauch
If limit_wr2 > 700 Then limit_wr2 = 700 ' falls Limit WR > 700 dann Limit WR auf 700 setzen
End If

If limit_wr2_set <> limit_wr2 And limit_wr2_set < 700 Then ' Prüfung, ob Limit <700 und es einen Unterschied zur vorherigen Prüfung gibt
limit_wr2_set = Round(limit_wr2, 0) ' falls ja, dann neues Limit auf den berechneten Wert

danach die Ausgabezeile mit dem neuen Limit_Wr2_set Wert erzeugen und in der Shell starten.

@stefan123t stefan123t changed the title Tasmota Stromzähler Support in Ahoy Feature Request: Tasmota Stromzähler Support in Ahoy Jan 22, 2023
@stefan123t
Copy link
Collaborator

Power Limit Regelung per MQTT auf einem separaten ESP in #618

@tqma1
Copy link

tqma1 commented Jan 22, 2023

Na ja, da bin ich persönlich nicht der größte Fan von …

Cool wäre doch folgendes Szenario:
Im HM-xxxx ein persistentes Limit hinterlegt (z.BSP. HM 1500 / Limit 600 Watt)
=> Ich habe mein Balkonkraftwerk angemeldet und Speise in schlimmsten Fall 600 Watt ein.

Funktioniert ohne irgend welche Abhängigkeiten immer!

Jetzt die coole Ahoy Nummer:
Wir passenden Richtung Nulleinspeisung das Limit an.
Muss alles über einen Controller laufen, da wir ansonsten wieder falsch ausgeregelte Zustände haben ….

@stefan123t
Copy link
Collaborator

stefan123t commented Jan 23, 2023

Also wir brauchen die Endpoint URL (evtl. mit Basic Authentication Username + Password):

Und dann sollen wir zwei Werte auslesen:

  • 1.7.0 aktuelle Wirkleistung P+ in Watt (Bezug)
  • 2.7.0 aktuelle Wirkleistung P- in Watt (Lieferung)

D.h. hier brauchen wir jeweils einen JSON-Filter Ausdruck mit dem wir das gesuchte Element zur Laufzeit anpassen können.

Aus den beiden Werten berechnen wir den aktuell temporär zusätzlich steuernden ActivePowerLimit Wert (non-persistent).

Außerdem müssen wir uns einen permanenten Wert für das ActivePowerLimit Wert (persistent) merken,
damit wir z.B. eine dauerhafte Grundlast einspeisen können oder die aktuell erlaubten 600W/800W auch einspeisen.
Wer hier eine Nulleinspeisung benötigt, damit er keine Vertragsstrafe bezahlen muss, setzt diesen Wert einfach auf 0W.

@Ollipop030
Copy link

Was aber auch berücksichtigt werden sollte sind Anlagen bestehend aus mehreren Wechselrichtern. Hier wird die Berechnung des Limits komplizierter. Vielleicht kann man dann auf Basis der Modulleistung ein Limit berechnen, wobei dann die Verlustleisung nicht einberechnet wird. Oder man verteilt die Leistung über die Anzahl der Module. Beispiel:
1 Modul am HM300, und vier am HM1500. Jetzt werden 250 Watt benötigt, der HM300 lässt 50 Watt durch, und der HM1500 lässt 200 Watt durch.

@Adminius
Copy link

es könnten auch HM300 = 250W und HM1500 = 0W sein. Evtl. ist es vom Wirkungsgrad sogar besser.
Wie die Module gedreht sind ist aber eine andere (komplexe) Sache...

Einfachere Alternative wäre: Prozentual von der Leistung:
300+1500 = 1800W sind 100% Leistung. 250W wären dann 14%.
=>
HM300 42W
HM1500 210W

@Ollipop030
Copy link

Ja klingt gut. Und auf diesem Wert wird dann noch der Wert für die Einspeisung gerechnet, wenn denn jmd einspeisen möchte. Ich selbst würde vielleicht immer 100Watt einspeisen, nur als Puffer. 600Watt sind angemeldet, also sagt auch der Netzbetreiber nichts wenn im Jahr bei 2.8.0 ein paar kWh dazukommen. Mit Modulausrichtungen würde das ganze gigantische Ausmaße annehmen. Dann müsste mach auch Aufstellwinkel, Modulart und Verschattungen einbeziehen.

@gandalfred
Copy link
Author

Bräuchten wir nicht auch noch 1.7.0 aktueller Momentanverbrauch power consumption ?
1.8.0 wäre der aktuelle Zählerstand Bezug bzw Verbrauch
2.8.0 wäre der aktuelle Zählerstand Einspeisung

@Ollipop030
Copy link

Bräuchten wir nicht auch noch 1.7.0 aktueller Momentanverbrauch power consumption ?

Ja das stimmt. Hatte stefan123t ja geschrieben.

@dtuuser
Copy link

dtuuser commented Jan 23, 2023

Bräuchten wir nicht auch noch 1.7.0 aktueller Momentanverbrauch power consumption ? 1.8.0 wäre der aktuelle Zählerstand Bezug bzw Verbrauch 2.8.0 wäre der aktuelle Zählerstand Einspeisung

Eigentlich reicht doch der momentane Verbrauch, da dieser Wert bei Einspeisung doch negativ wird. Oder ist das zählerabhängig?

@Adminius
Copy link

Mein Zähler sagt dann 0 Verbrauch und wird nicht negativ.
D.h. man braucht am besten Einspeiseleistung und Verbrauchsleistung oder muss sich anhand von Verbrauchsleistung an die 0 rantasten...

@Ollipop030
Copy link

Das ist tatsächlich Zählerabhängig. Bei mir geht der Bezug (1.7.0) auf Null, gleichzeitig steigt aber die Einspeisung (2.7.0). Es gibt Zähler, die zeigen dann minus. Einige Zähler zeigen sogar Leistungen auf den einzelnen Phasen an. 1.7.0 und 2.7.0 ist einfach der saldierte Wert der drei Phasen.

@Adminius
Copy link

ich meine es ist sogar eindeutig definiert:
1.7.0 aktueller Verbrauch in kW (Wirkleistung) aus dem Netz
2.7.0 aktuelle Einspeisung in kW (Wirkleistung) in das Netz
d.h. die o.g. Werte sind immer positiv ("Rücklaufsperre"), aber nie gleichzeitig.

Genauso wie der Zählerstand immer positiv ist:
1.8.0 Verbrauch Summe in kWh (Wirkarbeit)
2.8.0 Einspeisung Summe in kWh (Wirkarbeit) in das Netz

@Ollipop030
Copy link

Habe kein Shelly, ich habe einfach einen optischen Lesekopf (ist aber auch kein Tasmota). Aber lt. den Posts weiter oben scheinen die verschiedenen Leseköpfe alle json Daten auszuwerfen. Die Domäne und die Topics unterscheiden sich allerdings immer etwas.

@reserve85
Copy link

bei Shelly kommst du auch mit einer WebAPI ganz easy drauf.
siehe https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em-emeter-index

@Adminius
Copy link

@reserve85 danke. also für 3 Phasen 3 abfragen... hm.

@reserve85
Copy link

reserve85 commented Feb 21, 2023

ggf. geht auch das hier: https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em-status
da steht total_power | number | Sum of the power of the three channels, Watts

kannste es ja einfach mal im browser eintippen und dann siehst du ja die Rückgabe

@Adminius
Copy link

ich habe keine Shelly, sonst müsste ich nicht fragen ;)

@dtuuser
Copy link

dtuuser commented Feb 21, 2023

Ich hatte einen normalen Shelly vor dem WR. Original Firmware drauf...und alle zwei bis drei Wochen Spannungswerte jenseits von 255 Volt. Mit Reset.
Diesen hatte ich per API Aufruf über die lokale IP ohne Cloud abgefragt.
Sollte bei den wirklichen Verbrauchs-Shellys auch gehen. Mir war damals die Anschaffung von einem 3-em zu teuer. Daher 33 Eueo Tasmota WiFi Kopf am Zähler und immer die richtigen Werte.

@Ollipop030
Copy link

Daher 33 Eueo Tasmota WiFi Kopf am Zähler und immer die richtigen Werte.

Und viel einfacher für Laien.

@Adminius
Copy link

Adminius commented Feb 21, 2023

ich fasse mal zusammen:

Es werden benötigt:
2x Eingabefelder für Benutzer={user}/Password={passapi} bzw. API. Diese Felder werden in die API als Platzhalter integriert
3x Eingabefelder für bis zu 3 Links (z.B. Shelly 3EM, pro Phase 1 Link)
Es werden pro Link JsonPath benötigt um die Daten zu extrahieren:
Ergebnisse werden zusammen addiert (wobei so klappt es mit 1.7.0 und 2.7.0 nicht, da die immer positiv sind...). Nicht befüllte Felder werden mit 0 W angenommen.

Beispiel Shelly:
Link 1: http://12.34.56.78/emeter/0
JSON1: power

{
    "power": 115.4,
    "pf": 0.99,
    "current": 0.5,
    "voltage": 230.8,
    "is_valid": true,
    "total": 123,
    "total_returned": 56
}

Somit wird die Leistung von 115.4 Watt für Phase 1 angenommen, so 3 mal für jede Phase eingeben.

Beispiel Shelly 3EM alternative:
Link 1: http://12.34.56.78/status
JSON1: total_power

{
	"wifi_sta": {
		"connected": true,
		"ssid": "badhome",
		"ip": "192.168.70.176",
		"rssi": -78
	},
...
	"total_power": 7.49,
...
}

Beispiel mit User/Password (2x Mal gleicher Link, da man 2x Daten aus JSON braucht):
Link 1: http://192.168.1.8/getLastData?user={user}&password={passapi}
JSON1: 1.7.0

Link 2: http://192.168.1.8/getLastData?user={user}&password={passapi}
JSON2: 2.7.0

Ich bin kein JSON Experte, wie kann man das hier eingeben? (wohl gar nicht, oder?) Was ist das für Zähler(adapter) @MubiTec ?
StatusSNS/Haus/Power_curr

{
  "StatusSNS":{
    "Time":"2023-01-20T18:14:40",
    "Haus":{
      "Total_in":9935.7223,
      "Total_out":11022.9129,
      "Power_curr":444,
      "Volt_p1":231.4,
      "Volt_p2":230.6,
      "Volt_p3":232.4,
      "Amperage_p1":0.9,
      "Amperage_p2":2.4,
      "Amperage_p3":0.5,
      "phase_angle_p1":-63.0,
      "phase_angle_p2":-51.0,
      "phase_angle_p3":-71.0,
      "frequency":51
    }
  }
}

#606 (comment)

P.S. alternativ, könnte man nur ein Link eingeben aber 2-3 Daten aus JSON lesen, ich glaube mit 3 Links ist man flexibler: Z.B. wenn man für 3 Phasen 3 unterschiedliche einzel shellys nutzt

Noch ein EDIT: man muss also pro JSON Wert eingeben können ob 1:1 genommen wird, mit -1 multipliziert wird (1.7.0 + (-1)*2.7.0) und/oder durch 1000 geteilt wird (gibt es Zähler die in kW statt W die Daten ausgeben, wohl eher nicht?)

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

Wie oft würdet ihr denn ein neues Limit setzen? Hab das jetzt mal über mqtt alle 30Sekunden gemacht. Das funktioniert zwar aber ahoy ist so ausgelastet, dass keine Werte mehr von WR kommen.
Wäre das über diese Lösung das gleiche?

@Adminius
Copy link

@MubiTec ,was hast du für einen Zähler(adapter)? kann man da "flacheren" und nicht so verschatelten JSON bekommen?

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

Aufruf http:///cm?cmnd=status%208 bringt das als Rückmeldung {"Verbrauch_Summe":1234.56,"Einspeisung_Summe":123.45678,"Watt_Summe":620,"Watt_L1":373.66,"Watt_L2":141.66,"Watt_L3":104.23,"Volt_L1":237.8,"Volt_L2":237.2,"Volt_L3":236.2}}}

Das ist das was ich raus bekomme. Hab das auch über tasmota sml gemacht. Ist ein norax 3d stromzähler

@Ollipop030
Copy link

Und noch beachten, bei Tasmota Leseköpfen gibt es anscheinend keinen Wert für 2.7.0, sondern 1.7.0 (Power_curr) wird dann einfach negativ.

@reserve85
Copy link

Nicht ganz richtig, das kommt auf den Zähler und das Script an welches auf tasmota läuft.

@Ollipop030
Copy link

Wie oft würdet ihr denn ein neues Limit setzen?

Ich mache das alle 17 Sekunden, habe keine Probleme. Allerdings ohne MQTT.

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

Nicht ganz richtig, das kommt auf den Zähler und das Script an welches auf tasmota läuft.

Ja, das kann ich auch so bestätigen

@Ollipop030
Copy link

Nicht ganz richtig, das kommt auf den Zähler und das Script an welches auf tasmota läuft.

Ja, das kann ich auch so bestätigen

Ah ok, danke für die Richtigstellung.

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

Wie oft würdet ihr denn ein neues Limit setzen?

Ich mache das alle 17 Sekunden, habe keine Probleme. Allerdings ohne MQTT.

Welche Version ahoy hast den denn? Hab die 0.5.66.viekkeicht liegt es daran?

@pvstrom
Copy link

pvstrom commented Feb 21, 2023

@MubiTec Probiers mal mit höherer oder maximaler Sendeleistung und anderem Abfrageintervall.

Ich vermute eher, dass das mit den schlecht empfangbaren WR´s etwas aus dem Takt kommt

@Adminius
Copy link

Aufruf http:///cm?cmnd=status%208 bringt das als Rückmeldung
{"Verbrauch_Summe":1234.56, "Einspeisung_Summe":123.45678, "Watt_Summe":620, "Watt_L1":373.66, "Watt_L2":141.66, "Watt_L3":104.23, "Volt_L1":237.8, "Volt_L2":237.2, "Volt_L3":236.2}

Na dann würde meine Idee gehen:
Link1: http://12.34.56.78/cm?cmnd=status%208
JSON1: Watt_Summe

ich versuche es mal in OpenDTU einzubauen, vorbeireitet ist es dort schon: hoylabs/OpenDTU-OnBattery#102

@Ollipop030
Copy link

Welche Version ahoy hast den denn? Hab die 0.5.66.viekkeicht liegt es daran?

Ich habe die 0.5.89, aber auf einem ESP32. Die sind einfach knackiger als die 8266.

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

@MubiTec Probiers mal mit höherer oder maximaler Sendeleistung und anderem Abfrageintervall.

Ich vermute eher, dass das mit den schlecht empfangbaren WR´s etwas aus dem Takt kommt

OK, probiere ich aus!

@MubiTec
Copy link

MubiTec commented Feb 21, 2023

Welche Version ahoy hast den denn? Hab die 0.5.66.viekkeicht liegt es daran?

Ich habe die 0.5.89, aber auf einem ESP32. Die sind einfach knackiger als die 8266.

OK, und die können ihre Mehr Power auch nutzen? Wenns damit gehen sollte, dann steig ich auch gerne um. Hab hier glaub ich noch einen rum fliegen

@Ollipop030
Copy link

Auf den 8266 habe ich nie eine höhere Uptime als vielleicht 2 Tage geschafft. Der ESP32 läuft hier locker länger. Habe aber die letzten Versionen auf den 8266 nicht mehr intensiv getestet.

@dtuuser
Copy link

dtuuser commented Feb 21, 2023

Ich frage meinen Tasmota Wifi Kopf mit http://IPAdresse/?m ab und erhalte als Antwort

{t}{s} Verbrauch_Summe {m}12345.77 kWh{e}{s} Solareinspeisung_Summe {m}12.7345677 kWh{e}{s} Aktueller_Verbrauch {m}585 W{e}{s}-- {e}{s} Leistung_L1 {m}354.76 W{e}{s} Leistung_L2 {m}198.74 W{e}{s} Leistung_L3 {m}31.31 W{e}{s}-- {e}{s} Spannung_L1 {m}239.2 V{e}{s} Spannung_L2 {m}237.5 V{e}{s} Spannung_L3 {m}237.7 V{e}{t}ON

Bei Einspeisung wird der Wert "Aktueller_Verbrauch" negativ.
Über CURL Aufruf schicke ich bei Bedarf alle 60 Sekunden das Limit an die Ahoy. Version 5.66

@Adminius
Copy link

ja können die. im Groben: WLAN läuft auf einem Core, der restliche Zeug auf dem anderen. Und das Ganze mit 240Mhz statt 160Mhz. Aber allein WLAN Teil macht viel aus.

@berni2288
Copy link

Das Feature "New Power meter support: HTTP(S) + JSON (Shelly 3EM, Tasmota, Volkszähler etc.)" wurde jetzt in den development branch vom Projekt OpenDTU-OnBattery gemergt.

Wenn wer für ahoy da was abschauen möchte, kann er das gern machen :)

@stefan123t
Copy link
Collaborator

stefan123t commented Jul 5, 2024

I just searched for the Shelly Pro3EM Power Meter and could not find the documentation on the Shelly Homepage (API and normal documentation).
This openWB Wallbox forum post on the Shelly Pro 3EM pointed me into the right documentation:

Shelly API Docs > Gen 2+ Device API
Components and Services > EM > EM.GetStatus example

Please consider to add an Example URL for Shelly Pro3EM which does not support /status URL but only RPC API URL as below:

http://shellypro3em-<mac-address>/rpc/Shelly.GetStatus

The JSON Path is em:0/total_act_power or em:0/a_act_power, em:0/b_act_power and em:0/c_act_power

The example JSON looks like this (reduced to the four elements):

{
  "em:0": {
    "a_act_power": 63.8,
    "b_act_power": -367.8,
    "c_act_power": 8.5,
    "total_act_power": -295.439
  }
}

@gandalfred please double check the Dynamic Power Limiter (DPL) function in the project OpenDTU-OnBattery.

I have described a possible PM+DPL setup with a Shelly Pro3EM as Power Meter (PM) here in issue #272.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests