-
-
Notifications
You must be signed in to change notification settings - Fork 225
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
Comments
Hallo Steve, |
2.8.0 ist die gesamte Einspeisung |
Klingt nach einem sehr guten Vorschlag. Welche Informationen braucht es denn um den Hichi ESP direkt dirch die AhoyDTU abfragen zu können ? |
Aufruf http://IPvomHichi/cm?cmnd=status%208 {
"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 |
Echt coole Idee. {
"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
}
}
} |
Ok, du warst schneller 😅 |
Unter Windows habe ich ein eigenes Tool geschrieben, was die Daten vom Hichi und von Ahoy abrufen. |
Bitte bei der Abfrage flexibel bleiben da Tasmota nicht die alleinige Lösung sein soll, da es die Entschlüsselung der Daten nicht kann ... {
"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"
} |
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? |
Hallo Adminius, |
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. |
Hallo Adminius, 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 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 danach die Ausgabezeile mit dem neuen Limit_Wr2_set Wert erzeugen und in der Shell starten. |
Power Limit Regelung per MQTT auf einem separaten ESP in #618 |
Na ja, da bin ich persönlich nicht der größte Fan von … Cool wäre doch folgendes Szenario: Funktioniert ohne irgend welche Abhängigkeiten immer! Jetzt die coole Ahoy Nummer: |
Also wir brauchen die Endpoint URL (evtl. mit Basic Authentication Username + Password):
Und dann sollen wir zwei Werte auslesen:
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, |
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: |
es könnten auch HM300 = 250W und HM1500 = 0W sein. Evtl. ist es vom Wirkungsgrad sogar besser. Einfachere Alternative wäre: Prozentual von der Leistung: |
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. |
Bräuchten wir nicht auch noch 1.7.0 aktueller Momentanverbrauch power consumption ? |
Ja das stimmt. Hatte stefan123t ja geschrieben. |
Eigentlich reicht doch der momentane Verbrauch, da dieser Wert bei Einspeisung doch negativ wird. Oder ist das zählerabhängig? |
Mein Zähler sagt dann 0 Verbrauch und wird nicht negativ. |
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. |
ich meine es ist sogar eindeutig definiert: Genauso wie der Zählerstand immer positiv ist: |
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. |
bei Shelly kommst du auch mit einer WebAPI ganz easy drauf. |
@reserve85 danke. also für 3 Phasen 3 abfragen... hm. |
ggf. geht auch das hier: https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em-status kannste es ja einfach mal im browser eintippen und dann siehst du ja die Rückgabe |
ich habe keine Shelly, sonst müsste ich nicht fragen ;) |
Ich hatte einen normalen Shelly vor dem WR. Original Firmware drauf...und alle zwei bis drei Wochen Spannungswerte jenseits von 255 Volt. Mit Reset. |
Und viel einfacher für Laien. |
ich fasse mal zusammen: Es werden benötigt: Beispiel Shelly:
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:
Beispiel mit User/Password (2x Mal gleicher Link, da man 2x Daten aus JSON braucht): Link 2: http://192.168.1.8/getLastData?user={user}&password={passapi} Ich bin kein JSON Experte, wie kann man das hier eingeben? (wohl gar nicht, oder?) Was ist das für Zähler(adapter) @MubiTec ?
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?) |
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. |
@MubiTec ,was hast du für einen Zähler(adapter)? kann man da "flacheren" und nicht so verschatelten JSON bekommen? |
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 |
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. |
Nicht ganz richtig, das kommt auf den Zähler und das Script an welches auf tasmota läuft. |
Ich mache das alle 17 Sekunden, habe keine Probleme. Allerdings ohne MQTT. |
Ja, das kann ich auch so bestätigen |
Ah ok, danke für die Richtigstellung. |
Welche Version ahoy hast den denn? Hab die 0.5.66.viekkeicht liegt es daran? |
@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 |
Na dann würde meine Idee gehen: ich versuche es mal in OpenDTU einzubauen, vorbeireitet ist es dort schon: hoylabs/OpenDTU-OnBattery#102 |
Ich habe die 0.5.89, aber auf einem ESP32. Die sind einfach knackiger als die 8266. |
OK, probiere ich aus! |
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 |
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. |
Ich frage meinen Tasmota Wifi Kopf mit
Bei Einspeisung wird der Wert "Aktueller_Verbrauch" negativ. |
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. |
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 :) |
I just searched for the Shelly Pro3EM Power Meter and could not find the documentation on the Shelly Homepage (API and normal documentation). Shelly API Docs > Gen 2+ Device API Please consider to add an Example URL for Shelly Pro3EM which does not support
The JSON Path is 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. |
Hardware
Modelname: ______
Retailer URL: ______
nRF24L01+ Module
Antenna:
Power Stabilization:
connected between +3.3V and GND (Pin 1 & 2) of the NRF Module
Connection diagram:
Connection diagram I used:
Note: [*] GND Pin 1 has a square mark on the nRF24L01+ module
Software
Version / Git SHA:
Version: ..__
Github Hash: _______
Build & Flash Method:
Desktop OS:
Debugging:
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
The text was updated successfully, but these errors were encountered: