Open gandalfred opened 1 year ago
Problem sind meine Nachbarn und eine mögliche Verbindung zum Netzbetreiber. Da habe ich lieber so wenig Einspeisung wie möglich. Im Sommer werden anstatt der Limitierung vom WR dann sowieso die Poolpumpe oder die Klimaanlage gesteuert.
@reserve85 Hab grad ein Issue in deinem Repo aufgemacht.
Ich lasse bei mir im Moment das Script von reserve85 laufen: https://github.com/reserve85/HoymilesZeroExport
Mit einigen Anpassungen läuft das super. Danke auch nochmal an @reserve85 für deine Hilfe. Im Moment läuft das auf einem Raspi, ist mir aber ehrlich gesagt zuviel an Geräten (Lesekopf, DTU. Raspi), für so eine einfach Aufgabe. @lumapu Könnte man das so oder ähnlich nicht in die DTU integegrieren? Oder ein Fenster, in dem man einfach sein eigenes python Script einfügen kann?
@Ollipop030 hier ist alles in einem: https://github.com/helgeerbe/OpenDTU-OnBattery/tree/powerlimiter aber "leider" nicht Ahoy (ich werde es wohl nie verstehen warum man die zwei Projekte nicht in eins mergen möchte)...
Danke, erfordert aber MQTT, und Open DTU geht nur auf dem ESP32. Es soll ja möglichst einfach sein, Tasmota an den Zähler kleben, Ahoy einrichten und fertig.
na gut, ob ESP32 oder ESP8266 ist relativ egal, kosten ähnlich um 5 Euro in china. ich habe SDM72/630 Support eingebaut (per RS485), wird bald in dieses Branch gemerged (kannst schon mal den PR anschauen). Danach kommt HTTP/JSON Schnittstelle für Zähler (da habe ich halt nichts daheim, deswegen müsste ich "blind" entwickeln)
Hi @Ollipop030 nutzt du Shelly's original FW oder Tasmota? Hast du für mich Infos wie man an die Daten kommt und einen Response? ;)
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. siehe https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em-emeter-index
@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
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
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. 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.
Daher 33 Eueo Tasmota WiFi Kopf am Zähler und immer die richtigen Werte.
Und viel einfacher für Laien.
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
}
}
}
https://github.com/lumapu/ahoy/issues/606#issuecomment-1398692560
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. Wäre das über diese Lösung das gleiche?
@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.
Wie oft würdet ihr denn ein neues Limit setzen?
Ich mache das alle 17 Sekunden, habe keine Probleme. Allerdings ohne MQTT.
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
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.
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?
@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
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: https://github.com/helgeerbe/OpenDTU-OnBattery/pull/102
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 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!
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
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 http://IP/?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
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). 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
}
}
Hardware
Modelname: __ Retailer URL: __
nRF24L01+ Module
Antenna:
Power Stabilization:
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