fhempy: rct_power (RCT-Power)

Begonnen von dominik, 10 Februar 2022, 20:20:12

Vorheriges Thema - Nächstes Thema

Docter

Zitat von: gehrt am 30 Mai 2023, 11:17:29
Zitat von: Docter am 29 Mai 2023, 11:40:33du weißt das im PV Ertrag Batterie Anteile drin sind? RCT stellt das anders dar.


Nein, woher soll ich das wissen. Deswegen frage ich doch hier nach. Meine Werte stimmen nicht überein zwischen FHEM, RCT Power App und RCT-Portal. Alles sehr durcheinander. Ich weiß gar nicht, welche Werte die richtigen sind.
 
In der RCT Power App stimmt der Momentanverbrauch überhaupt nicht.
In FHEM stimmen power_grid_total, energy_day_household sowie energy_day_household_external nicht.
Nur die Historie in der RCT Power App scheint die Werte halbswegs plausibel darzustellen.
Der erzeugte Tagesbetrag im Portal stimmt nicht mit dem in FHEM überein. Es erscheint auch nicht offenschtlich, dass da noch irgendwelche Werte abgezogen oder addiert werden müssen, da nichts passt.

beobachte doch mal deine Werte...

Der PV Ertrag wird nicht so dargestellt wie du glaubst.

energy.e_ac_day z.B. wenn eine Batterie verbaut ist läuft auch weiter, wenn deine Panels nichts mehr liefern?

So, und welche Werte stimmen deiner Meinung nach nicht?
Du musst schon mehr liefern als nur "geht nicht".
Vielleicht vergleichst du auch nicht die richtigen Werte.

Das ein Hausverbrauch zu niedrig ist, kann an der Verkabelung liegen. RCT Call könnte helfen.

loescher

Hallo!

Gibt es eigentlich irgendeinen Wert, an dem man erkennen kann, dass die Batterie gerade im Kalibrierungs-Modus ist?
In der RCT App wird ganz klein "calib." angezeigt, aber unter
https://rctclient.readthedocs.io/en/latest/inverter_registry.html
konnte ich nichts finden und auch nicht in diesem Modul.
Oder muss man sich das selbst ableiten, z.B. durch
battery_soc==100 && battery.soc_target==0.00

LG,
Stephan.

marvin78

battery.status hast du getestet?

Ich selbst habe es nicht. Es kommt auch sicher nur ein Zahlenwert zurück. In der Registry ist das nicht vollständig dokumentiert. Einen Versuch wäre es wert.

Docter

Genau dasselbe habe ich gestern auch überlegt und dann über soc 0 und soc 100 gelöst.
Es gibt einen Wert der heißt...
power_mng.bat_next_calib_date war aber gestern und heute 1686574800. Was für ein Format ist das?
Dann gibt es noch power_mng.bat_calib_days_in_advance.. Der ist aber immer 3, hab es über einen Zyklus beobachtet, keine Änderung ever.

Hat jemand eine Idee?

Ich würde immernoch den Wunsch haben, das Soc_target setzen zu können.

Danke Thomas

loescher

@marvin78:
Das werde ich mir bei der nächsten Kalbrierung mal anschauen! Danke!

@Docter: Sehr gute Idee! Aber Format ist m.E. das Unix-Zeitformat in Sekunden, welches in deinem Fall dann dem Datum Mon Jun 12 15:00:00 2023 entsprechen würde.
Hattest du am 12.5. die letzte Kalibrierung? Dann würde das ja passen.
Die 3 würde ich so erklären: Meine Batterie beginnt schon 3 Tage vor dem Kalibrierungs-Datum mit der ganzen Prozedur. Diesmal stand bei Kalibrierungs-Datum der 12.6. aber das hat schon am 9.6. begonnen. Also drei Tage vorher.

LG,
Stephan.

marvin78

Die Kalbrierung ist grausam schlecht gelöst. Beispiel: Beim letzten Mal hat die Anlage es 3 Tage lang nicht geschafft, den Akku zu entladen und hat dann aufgegeben...offenbar werden viel zu wenig Umgebungsparameter mit einbezogen.

Docter

Danke, ja das mit dem Datum stimmt tatsächlich... hab ich nicht erkannt.

Und die Kalibrierung hat ein max. Zeitfenster in . Kann man in der App einstellen... bei mir 48h und das reicht im Sommer auch in 2 Tagen nicht, den Akku leerzumachen.

marvin78

Ich weiß, dass es das Zeitfenster gibt, darum geht es aber nicht. Ob da nun aktuell 48h oder 480h angegeben wären...auf die Art wird es nicht funktionieren.

Docter

Hab es heute beobachten können...
Nach den besagten 48h waren noch 20% in der Batterie. Nach 48h hat er dann angefangen sich ins Netz zu Entladen und dann hat er sich mit Solarpower wieder auf 100 geschraubt. Ich denke diese Wartezeit, bis Batterie leer sind 48h.

Docter

Zitat von: loescher am 10 Juni 2023, 23:13:55@marvin78:
Das werde ich mir bei der nächsten Kalbrierung mal anschauen! Danke!

@Docter: Sehr gute Idee! Aber Format ist m.E. das Unix-Zeitformat in Sekunden, welches in deinem Fall dann dem Datum Mon Jun 12 15:00:00 2023 entsprechen würde.
Hattest du am 12.5. die letzte Kalibrierung? Dann würde das ja passen.
Die 3 würde ich so erklären: Meine Batterie beginnt schon 3 Tage vor dem Kalibrierungs-Datum mit der ganzen Prozedur. Diesmal stand bei Kalibrierungs-Datum der 12.6. aber das hat schon am 9.6. begonnen. Also drei Tage vorher.

LG,
Stephan.


also das läuft...
ich berechne aus dem Wert (NextCalibrationDate) - 3 Tage (Reading xxxdaysbefore) nun wieviele Tage bis zur nächsten Kalibrierung "übrig" sind :)
Eigentlich ganz cool

is2late

#205
Hallo Zusammen,
unsere Anlage ist neu und ich bin da noch nicht so firm (in Fhem auch nicht ;-)
Vielleicht kann mir ein Kundiger hier weiterhelfen.
Ich habe die tolle Konfiguration von Nogga #128 übernommen.
Dabei zwei Probleme:

1. SCALAR und Hausverbrauch werden nicht angezeigt
2. Die anderen Daten aktualisieren sich nicht. Die Readings bleiben auf dem Stand der Einrichtung des Device.

Der Fhempy-Server läuft, offenbar alles aktuell. Update_readings steht auf "on change".
Nachtrag: Hab soeben "default device reading" auf "on" gesetzt. Danach hat sich etwa die Hälfte der Readings aktualisiert.
Im Eventmonitor erscheint folgende Meldung:
error while requesting http://device_ip: ?? :80/infos.json - http://device_ip: ?? :80/infos.json: malformed or unsupported URL   : keine Ahnung, ob sich die auf RCT bezieht...

Die Definition:
define my_rct_device fhempy rct_power 192.168.178.127
attr my_rct_device alias RCT Wechselrichter
attr my_rct_device default_device_readings off
attr my_rct_device device_readings_json {\\
  "energy.e_grid_load_month":{\\
    "reading":"energy_month_household_external",\\
    "factor":1\\
  },\\
  "energy.e_grid_load_day":{\\
    "reading":"energy_day_household_external",\\
    "factor":1\\
  },\\
  "energy.e_ac_total":{\\
    "reading":"energy_total",\\
    "factor":1\\
  },\\
  "energy.e_grid_feed_total":{\\
    "reading":"energy_total_grid_feed_in",\\
    "factor":1\\
  },\\
  "battery.used_energy":{\\
    "reading":"battery_used_energy",\\
    "factor":1\\
  },\\
  "battery.soc":{\\
    "reading":"battery_soc",\\
    "factor":100\\
  },\\
  "energy.e_grid_feed_day":{\\
    "reading":"energy_day_grid_feed_in",\\
    "factor":1\\
  },\\
  "energy.e_ac_day":{\\
    "reading":"energy_day",\\
    "factor":1\\
  },\\
  "energy.e_load_day":{\\
    "reading":"energy_day_household",\\
    "factor":1\\
  },\\
  "energy.e_load_month":{\\
    "reading":"energy_month_household",\\
    "factor":1\\
  },\\
  "dc_conv.dc_conv_struct[0].p_dc_lp":{\\
    "reading":"power_solarA",\\
    "factor":1\\
  },\\
  "dc_conv.dc_conv_struct[1].p_dc_lp":{\\
    "reading":"power_solarB",\\
    "factor":1\\
  },\\
  "energy.e_ac_day":{\\
    "reading":"energy_day",\\
    "factor":1\\
  },\\
  "g_sync.p_acc_lp":{\\
    "reading":"power_battery",\\
    "factor":1\\
  },\\
  "g_sync.p_ac_grid_sum_lp":{\\
    "reading":"power_grid_total",\\
    "factor":1\\
  },\\
  "g_sync.p_ac_sum_lp":{\\
    "reading":"power_household_total",\\
    "factor":1\\
  },\\
  "g_sync.p_ac_load_sum_lp":{\\
    "reading":"power_household_external",\\
    "factor":1\\
  }\\
}
attr my_rct_device group rct_power
attr my_rct_device room Photovoltaik,Geräte,fhempy
attr my_rct_device stateFormat {\\
    "PV-Leistung: ".(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\\
        (O: ".(ReadingsVal($name, "power_solarB", "0"))." W / \\
        W: ".(ReadingsVal($name, "power_solarA", "0"))." W)<br>\\
     Gesamtertrag heute: ".sprintf("%.2f", (ReadingsVal($name, "energy_day", "0")/1000))." kWh<br>\\
     Batterie-Kapazität: ".(ReadingsVal($name, "battery_soc", "0"))." %<br>\\
     Batterie-".((ReadingsVal($name, "power_battery", 1) < 0) ? "Ladung" : "ENTladung").": ".abs(ReadingsVal($name, "power_battery", "-"))." W<br>\\
     Netz-".((ReadingsVal($name, "power_grid_total", 1) < 0) ? "Einspeisung" : "Bezug").": ".abs(ReadingsVal($name, "power_grid_total", "-"))." W<br>\\
     Hausverbrauch: ".(ReadingsVal($name, "power_household_external", "-"))." W<br>\\
     Heutiger Hausverbrauch: ".sprintf("%.2f", (ReadingsVal($name, "energy_day_household", "0")/1000))." kWh \\
        davon aus dem Netz: ".sprintf("%.2f", (ReadingsVal($name, "energy_day_household_external", "0")/1000))." kWh"\
}
attr my_rct_device update_readings on_change
attr my_rct_device userReadings power_solarCombined:power_solar(A|B).* { (ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0")) }
#   DEF        rct_power 192.168.178.127
#   FHEMPYTYPE rct_power
#   FUUID      64076046-f33f-a080-026c-396eabe89e3001d1
#   IODev      fhempy_local
#   NAME       my_rct_device
#   NR         496
#   PYTHONTYPE rct_power
#   STATE      SCALAR(0x8f08e90)0 W
#        (O: 0 W /
#        W: 0 W)<br>
#     Gesamtertrag heute: 45.61 kWh<br>
#     Batterie-Kapazität: 96.61 %<br>
#     Batterie-ENTladung: 1.74 W<br>
#     Netz-Einspeisung: 1746.41 W<br>
#     Hausverbrauch: - W<br>
#     Heutiger Hausverbrauch: 0.00 kWh
#        davon aus dem Netz: 0.00 kWh
#   TYPE       fhempy
#   eventCount 4
#   READINGS:
#     2023-07-06 07:59:47   battery.cycles  8
#     2023-07-06 09:58:19   battery.efficiency 0.88
#     2023-07-05 14:40:00   battery.soc     0.97
#     2023-07-05 14:40:00   battery.soc_target 0.97
#     2023-07-05 14:40:00   battery.soh     1.00
#     2023-07-06 19:00:58   battery.temperature 26.25
#     2023-07-06 19:00:58   battery_soc     96.61
#     2023-07-05 14:42:18   db.temp1        33.85
#     2023-07-05 14:42:18   energy.e_ac_day 22358.71
#     2023-07-05 14:42:18   energy.e_grid_feed_day -12316.57
#     2023-07-05 14:40:00   energy.e_grid_load_day 36.85
#     2023-07-06 19:02:31   energy.e_load_day 15697.34
#     2023-07-06 19:02:31   energy_day      45607.07
#     2023-07-06 19:02:31   energy_day_grid_feed_in -29921.77
#     2023-07-06 12:10:53   energy_day_grid_load 24.00
#     2023-07-06 19:04:15   error           
#     2023-07-05 14:42:18   g_sync.p_ac_grid_sum_lp -919.11
#     2023-07-05 14:42:18   g_sync.p_ac_sum_lp 1599.31
#     2023-07-05 14:42:18   g_sync.p_acc_lp 1.53
#     2023-07-05 14:40:00   inverter_sn     0065B4821490
#     2023-07-06 19:02:31   power_ac        2301.46
#     2023-07-06 19:02:31   power_battery   1.74
#     2023-07-06 19:02:31   power_grid_total -1746.41
#     2023-07-05 14:40:00   power_mng.soc_max 0.97
#     2023-07-05 14:40:00   power_mng.soc_min 0.07
#     2023-07-08 07:02:16   state           connected
#     2023-07-06 19:01:21   temperature_wr  34.86
#   args:
#     my_rct_device
#     fhempy
#     rct_power
#     192.168.178.127
#   argsh:
#   hmccu:
#
setstate my_rct_device SCALAR(0x8f08e90)0 W\
        (O: 0 W / \
        W: 0 W)<br>\
     Gesamtertrag heute: 45.61 kWh<br>\
     Batterie-Kapazität: 96.61 %<br>\
     Batterie-ENTladung: 1.74 W<br>\
     Netz-Einspeisung: 1746.41 W<br>\
     Hausverbrauch: - W<br>\
     Heutiger Hausverbrauch: 0.00 kWh \
        davon aus dem Netz: 0.00 kWh
setstate my_rct_device 2023-07-06 07:59:47 battery.cycles 8
setstate my_rct_device 2023-07-06 09:58:19 battery.efficiency 0.88
setstate my_rct_device 2023-07-05 14:40:00 battery.soc 0.97
setstate my_rct_device 2023-07-05 14:40:00 battery.soc_target 0.97
setstate my_rct_device 2023-07-05 14:40:00 battery.soh 1.00
setstate my_rct_device 2023-07-06 19:00:58 battery.temperature 26.25
setstate my_rct_device 2023-07-06 19:00:58 battery_soc 96.61
setstate my_rct_device 2023-07-05 14:42:18 db.temp1 33.85
setstate my_rct_device 2023-07-05 14:42:18 energy.e_ac_day 22358.71
setstate my_rct_device 2023-07-05 14:42:18 energy.e_grid_feed_day -12316.57
setstate my_rct_device 2023-07-05 14:40:00 energy.e_grid_load_day 36.85
setstate my_rct_device 2023-07-06 19:02:31 energy.e_load_day 15697.34
setstate my_rct_device 2023-07-06 19:02:31 energy_day 45607.07
setstate my_rct_device 2023-07-06 19:02:31 energy_day_grid_feed_in -29921.77
setstate my_rct_device 2023-07-06 12:10:53 energy_day_grid_load 24.00
setstate my_rct_device 2023-07-06 19:04:15 error
setstate my_rct_device 2023-07-05 14:42:18 g_sync.p_ac_grid_sum_lp -919.11
setstate my_rct_device 2023-07-05 14:42:18 g_sync.p_ac_sum_lp 1599.31
setstate my_rct_device 2023-07-05 14:42:18 g_sync.p_acc_lp 1.53
setstate my_rct_device 2023-07-05 14:40:00 inverter_sn 0065B4821490
setstate my_rct_device 2023-07-06 19:02:31 power_ac 2301.46
setstate my_rct_device 2023-07-06 19:02:31 power_battery 1.74
setstate my_rct_device 2023-07-06 19:02:31 power_grid_total -1746.41
setstate my_rct_device 2023-07-05 14:40:00 power_mng.soc_max 0.97
setstate my_rct_device 2023-07-05 14:40:00 power_mng.soc_min 0.07
setstate my_rct_device 2023-07-08 07:02:16 state connected
setstate my_rct_device 2023-07-06 19:01:21 temperature_wr 34.86

Hat jemand eine Idee, woran es liegen könnte?

Vielen Dank,
LG Ingo



Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

loescher

Ist das echt die DEF?
Das mit dem SCALAR kommt mir komisch vor.
Ich hab auch mit der Konfig von Nogga begonnen, aber noch etwas verändert.
Versuche es doch mal damit, siehe:
http://www.loescher-online.de/smarthome.html#rct

LG,
Stephan.

Nogga

Bin bei Stephan...
Sieht seltsam aus.
Lass doch mal alles nach der Zeile
attr my_rct_device userReadings ....
weg und dann versuchs nochmal.
Ansonsten wenn der Python Server steht, einfach mal meine Ursprungs-Def einspielen und dann auf dem Device alle Parameter auf Deine Wunsch-Parameter ändern... step by step.

is2late

@Stephan
@Nogga

Herzlichen Dank für Eure Antworten, versuche ich.

LG Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox