FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: dominik am 10 Februar 2022, 20:20:12

Titel: fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 10 Februar 2022, 20:20:12
Hallo,

auf Anfrage von chris_kmn habe ich das rct_power Modul in fhempy implementiert. Wer es nutzen möchte, installiert einfach fhempy (https://github.com/dominikkarall/fhempy#installation) und macht dann
define my_rct_device fhempy rct_power IP

Danach werden einige Werte ausgelesen. Mit dem Attribut "interval" lässt sich das poll Intervall einstellen, default ist 10s.

Falls weitere Werte gewünscht werden, kann ich auch ein Attribut erstellen wo jeder seine Werte zum Auslesen selbst definieren kann. Lasst mich wissen ob das sinnvoll ist. Ich selbst habe kein RCT Power Device und daher kann ich die Use Cases nicht so gut bewerten.

VG
Dominik
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 10 Februar 2022, 20:36:37
Das sieht gut aus. In meinem Modul das auf der CLI des RCT Clients basiert, lasse ich dem User komplett die Wahl, welche Attribute in welchem Format und in welches Reading aus der Registry gelesen wird/werden. Zur Config wird ein Json erstellt. Wenn das hier auch identisch möglich wäre, würde ich das Modul weg schmeißen ;) Performance ist bei meinem Modul eher mäßig.

https://forum.fhem.de/index.php/topic,120219.0.html
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 10 Februar 2022, 20:44:49
Um es hier auch nochmal offiziell zu machen: ich würde die Parametrierung von marvin78 auch begrüßen.

Und ein Write/set wäre grandios 😊
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 10 Februar 2022, 21:52:19
Parametrisierung kann ich gerne mal ausprobieren, paar fragen dazu...

- "unit": "%", was macht das oder soll es machen? Ich würde keine Einheiten in die Reading Values mit reingeben, weil sonst kann man damit nicht mehr rechnen. Wenn dann könnte man das am Reading hinten dran hängen. Z.B. battery_kWh. Wäre das sinnvoll?

- "factor": 100, was macht der Faktor? Ausgelesenen Werte dividieren?

- "intervalFactor": 1, ich denke das ist nicht notwendig, weil die Werte sowieso alle in einem Befehl gelesen werden können. Ob da nun 10 statische Werte alle 10s mit ausgelesen werden, sollte keine Rolle spielen. Natürlich weiß ich nicht wie das Gerät selbst bei vielen Abfragen reagiert?

Ich würde die Parametrisierung in den Attributen machen, damit man kein separaten File ablegen muss.

Write...schau ich mir noch an ;)
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 10 Februar 2022, 22:03:53
unit kann man weglassen.

Faktor ist wichtig. Und es ist, was es heißt, ein Faktor für den gelesenen Wert . Viele Werte kommen in unüblichen Größenordnungen an. Der User entscheidet, wie er es möchte. Und das pro Wert. Manchmal passt es manchmal nicht.

Interval Faktor ist hier ggf. nicht nötig. Mein Modul holt jeden Wert einzeln. Es geht nicht anders über die CLI. Hiermit kann man etwas verteilen (nicht jeder Wert bei jedem Durchlauf) und das tut der Performance gut.

Man braucht, aus meiner Sicht das Format, den Readingnamen (oft zu kryptisch) und den Faktor PRO WERT. In meinem Modul steht das gesamte Json über alle Werte in einem Attribut. Warum auch nicht? Die Registry ist groß und man sollte alle Werte lesen können. Da ist ein Json die beste Struktur (aus meiner Sicht).

{
    "values":[
    {
      "name": "battery.soc",
      "reading": "battery_soc",
      "unit": "",
      "factor": 100,
      "intervalFactor": 1,
      "format": "%.1f"
    },
    {
      "name": "battery.soh",
      "reading": "battery_soh",
      "unit": "",
      "factor": 100,
      "intervalFactor": 109,
      "format": "%.0f"
    },
    {
      "name": "battery.soc_target",
      "reading": "battery_soc_target",
      "unit": "",
      "factor": 100,
      "intervalFactor": 3,
      "format": "%.1f"
    },
    {
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 10 Februar 2022, 22:21:20
Alles klar....ja, das JSON direkt in einem Attribut ist eine gute Idee!

Ich würde 2 Attribute machen:
- Ein Attribut für "Anfänger", dort tragt man nur die Namen der gewünschten weiteren auszulesenden Werte ein
- Ein Attribut mit dem JSON, mit name, reading, factor und format (macht wahrscheinlich auch Sinn?)

Wie sollen die beiden Attribute heißen? poll_readings, poll_readings_json? Im rctclient heißen die einzelnen Werte immer ObjectInfos, aber ob poll_objectinfos verständlich ist?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 10 Februar 2022, 22:28:24
Ich denke auch, dass der intervallFactor weg gelassen werden kann.

Der factor ist eine Vorverarbeitung. Der SoC wird zum Beispiel als Wert zwischen  0 und 1 übertragen, ist aber eigentlich ein Prozentwert zwischen 0 und 100. Man könnte das auch mit einem userReadings machen, ist aber aufwändiger.

Hier sind mal ein paar Beispiele aus meinem Inverter mit dem fhempy Modul:

battery.efficiency  0.8496540784835815
battery.soc 0.5997843742370605
battery.soc_target 0.6100000143051147
battery.soc_target_low 0.6100000143051147
battery.soh 1.0
battery.temperature 18.575000762939453
battery_soc 59.1
db.temp1 19.162555694580078
energy.e_ac_day 5082.580078125
energy.e_grid_feed_day -1457.903076171875
energy.e_grid_load_day 10203.939453125
energy.e_load_day 13829.1513671875


Man sieht, dass die Rohwerte recht unformatiert rüber kommen. Bei allen Werten würden zwei Nachkommastellen reichen.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 10 Februar 2022, 22:31:39
Man könnte die attribute device_readings nennen oder inverter_readings und dann device_readings_adv  oder so

Oder more_readings


Aus den ,,Standard Readings" im Modul könnte man noch die Werte

temperature.sink_temp_power_reduction
inverter_sn

löschen. Das sind Festwerte und machen wenig Sinn für FHEM. Hatte ich glaube ich nur mal zum Vergleichen genutzt.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 10 Februar 2022, 23:57:47
Update ist online :)

Neue Attribute:
- device_readings
- device_readings_json

Im Hilfetext der Attribute steht jeweils die Info wie die Attribute formatiert werden müssen. inverter_sn habe ich drin gelassen, dachte mir, dass ist ein Reading was garantiert überall funktioniert und daher für neue User schon mal ein Zeichen, dass das Modul funktioniert.

Write schau ich mir am Wochenende an. Leider hat der rctclient selber kein Write implementiert, da muss ich was dazu bauen.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 06:40:11
irgendwas ist da noch im Argen (siehe Anlage). Bin noch nicht dazu gekommen, auf die Konsole zu schauen.

Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 08:02:38
Anliegend die Meldungen aus der JS-Konsole.  Es wird keine Hilfe zum Attribut angezeigt.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 08:04:31
Hmmm...das ist der Helptext. Kannst du bitte im Source der Seite nach "github" suchen und dann das href Object hier rein kopieren. Da ist sicher ein " nicht escaped.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 08:06:13
Fehler gefunden, ich habe 2 Files die ich geändert habe nicht committet :)

Update ist in paar Minuten ready.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 08:09:29
<a href=\"https://github.com/svalouch/python-rctclient/blob/67b0f7bc5a8fb6d8b8e15d68d4a24b1d9fb93e48/src/rctclient/registry.py#L202\">Object Infos</a>

Wenn du ohnhin dabei bist: Hast du dich gegen Format entschieden? Das wäre, aus meiner Sicht, bei den ankommenden Werten recht wichtig. Ich benötige keine 10 Nachkommastellen (nicht bei jedem Wert). :)

Und noch eine Frage: Die Defaults werden über das Attribut überschrieben oder bleiben sie vorhanden?


EDIT: Ich habe gesehen, dass du ein Standard-Format mit 2 Nachkommastellen machst. Das will man ggf. aber auch schonmal anders haben.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 08:22:00
Was mir zusätzlich noch auffällt:

Wenn ein Wert nicht gelesen werden kann, stehen die Fehler in den Readings. Das ist ggf. für Frontends nicht optimal. Da es ohnehin nur temporär ist, könnte man das ggf. nicht ins Reading schreiben, sondern in ein Sammel-Error-Reading und den alten Wert stehen lassen. Man kann es natürlich auch für das Frontend filtern bzw. ist es bei dem ein oder anderen Fehler auch nicht schlecht, wenn man den Fehler sieht. Das kommt sicher auf den Fehler an. Hier wird es dann kompliziert.

EDIT: Was mir noch fehlt, ist ein disable. Aber das ist nicht so wichtig.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 08:25:53
Ok, ich nehme mit:
- format mit aufnehmen
- defaults bleiben immer drin, ist das sinnvoll oder sollen diese komplett ersetzt werden?
- Error nicht im Reading: Sammel Reading mit alten Wert wird kritisch, weil da alle 10s was drangehängt wird. Womöglich einfach nur state setzen mit dem reading welches Probleme macht!?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 09:08:34
Zitat von: dominik am 11 Februar 2022, 08:25:53
Ok, ich nehme mit:
- format mit aufnehmen
- defaults bleiben immer drin, ist das sinnvoll oder sollen diese komplett ersetzt werden?
- Error nicht im Reading: Sammel Reading mit alten Wert wird kritisch, weil da alle 10s was drangehängt wird. Womöglich einfach nur state setzen mit dem reading welches Probleme macht!?

Ich denke dein Vorschlag für das Errorhandling ist ok. Mehr Infos sollte man dann ja im Logfile finden.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 09:17:38
Ich meinte damit ein "error" `Reading, in dem dann der letzte Fehler steht und wo er her kommt.

Allerdings wundere ich mich gerade, warum sehr häufig der Fehler "INVALID_COMMAND" kommt. Timeout erwarte ich. Das liegt an gleichzeitigen Zugriffen von verschiedenen Clients. Aber invalid hatte ich nicht erwartet.

Wichtig ist mir noch: Danke, dass du mein Modul und die viele Arbeit überflüssig gemacht hast ;)

Genial. Da ich Python nicht kann (und vor allem will), bin ich froh, dass du es dir angetan hast. Danke dafür. :) Ich empfehle nun im anderen Thread dieses Modul.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 09:31:08
Das wird so sein. Der Wechselrichter ist im LAN und ich habe mein Modul parallel laufen. Ich würde dann aber nur timeouts oder connection-errors erwarten nicht "INVALID_COMMAND".

Ich konnte battery.soc zu battery_soc machen, in dem ich es ins JSON gepackt habe.

Allerdings denke ich, dass es zwar Defaults geben sollte, man aber alle Readings löschen, falls ein JSON existiert und dann nur noch die im JSON enthaltenen aktualsieren sollte. Manch einer möchte ggf. nur einen oder zwei Werte lesen und nicht die Übersicht verlieren. Ggf. auch mit einem Attribut konfigurierbar. 

Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 09:43:34
was mache ich falsch ???

json:
   
{
"battery_soc": {
  "reading":"battery.soc",
  "factor":100
  }
}

Reading:

battery.soc     0.60     2022-02-11 09:58:52

battery_soc kommt gar nicht. Hab auch alle readings gelöscht incl. restart
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 10:13:35
Falschherum.

{
"battery.soc": {
  "reading":"battery_soc",
  "factor":100
  }
}
Titel: Antw:fhempy: rct_power
Beitrag von: febus am 11 Februar 2022, 11:09:04
Ich brauche bitte mal einen Schubser in die richtige Richtung.
Habe alles nach Anleitung installiert. Der fhempyserver will aber nicht starten.

FHEM Log:
Zitat2022.02.11 11:06:22 3: fhempyserver_15733: starting
2022.02.11 11:06:22 3: fhempyserver_15733: using logfile: ./log/fhempy-2022-02-11.log
2022.02.11 11:06:22 3: fhempyserver_15733: read: end of file reached while sysread
2022.02.11 11:06:22 3: fhempyserver_15733: stopped

fhempy Log:
ZitatSyntaxError: invalid syntax
  File "FHEM/bindings/python/bin/fhempy", line 87
    logging.getLogger(__name__).info(f"Successfully installed {package}")

Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 11:11:37
Zitat von: marvin78 am 11 Februar 2022, 10:13:35
Falschherum.

{
"battery.soc": {
  "reading":"battery_soc",
  "factor":100
  }
}




ok. klappt jetzt

Und bei mehreren Werten dann so:

{
    "g_sync.p_ac_sum_lp": {
    "reading": "power_ac",
    "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_grid_load_day": {
    "reading": "energy_day_grid_load",
    "factor":1
    },
    "g_sync.p_ac_grid_sum_lp": {
    "reading": "power_grid_total",
    "factor":1
    },
    "g_sync.p_acc_lp": {
    "reading": "power_battery",
    "factor":1
    },
    "db.temp1": {
    "reading": "temperature_wr",
    "factor":1
    }
}
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 11:30:27
Zitat von: febus am 11 Februar 2022, 11:09:04
Ich brauche bitte mal einen Schubser in die richtige Richtung.
Habe alles nach Anleitung installiert. Der fhempyserver will aber nicht starten.

FHEM Log:
fhempy Log:

Du brauchst Python 3.7 oder höher.
Titel: Antw:fhempy: rct_power
Beitrag von: febus am 11 Februar 2022, 15:17:36
Zitat von: dominik am 11 Februar 2022, 11:30:27
Du brauchst Python 3.7 oder höher.

Irgendwas mache ich noch falsch. Ich habe Python 3.10.2 auf dem Pi installiert:
pi@raspberrypi:~ $ python -V
Python 3.10.2


Wobei sudo python auf Version 3.5 verweist...?
pi@raspberrypi:~ $ sudo python -V
Python 3.5.3


Wie sehe ich denn, welche Version FHEM nutzt?
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 15:53:43
Wenn du einen Pi hast, dann mach einfach ein Standard Upgrade auf bullseye, dort ist Python 3.9 Standard. Ich empfehle keinesfalls Python manuell zu installieren.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 16:25:42
Folgende Punkte noch:

- Error Reading: Wollt ihr sicher ein einzelnes Reading "error" wo bei jedem Update der letzte Fehler angezeigt wird? Ich habe folgende Bedenken dabei:
   - es wird nur der letzte Fehler angezeigt
   - man verlässt sich daher auf Werte in den Readings, die womöglich nicht korrekt sind, da ja nur der letzte Fehler angezeigt wird
   - niemand (denke ich) übernimmt das error Reading in ein Frontend. Nachdem man nicht täglich in das error Reading rein schaut, kann es sein, dass man im Frontend sich andauernd auf falsche Werte verlässt.
   - aus diesen Gründen würde ich den Fehler direkt im Reading, weil dort erkennt es der User gleich, belassen

Nachdem ich das Modul aber selbst nicht nutze, spielt es für mich keine Rolle wie ich es implementiere, lasst mich wissen was für euch brauchbar ist. Ich wollte euch nur meine Bedenken mitgeben als ich es gerade umsetzen wollte :)

- Standard Readings entfernen: Soll ich die Standardreadings immer entfernen sobald man das json Attribut nutzt? Weil in dem Fall kann man von einem "advanced" User ausgehen.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 16:53:59
Zum Error Reading:
Mir ist das ehrlich gesagt auch gleich, finde deine Argumentation aber plausibel. Von mir aus also gerne in den Readings selber.

Den Standard-Readingsatz zu entfernen bei Nutzung der reading attribute finde ich auch gut. Das ist das Beste aus beiden Varianten 😊
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 16:57:59
Achso...noch dazu...
ZitatAllerdings wundere ich mich gerade, warum sehr häufig der Fehler "INVALID_COMMAND" kommt. Timeout erwarte ich. Das liegt an gleichzeitigen Zugriffen von verschiedenen Clients. Aber invalid hatte ich nicht erwartet.

INVALID_COMMAND oder TIMEOUT bekomme ich direkt von der Library. Was mir noch aufgefallen ist, es wird bei jeder Abfrage die Connection neu aufgebaut und dann wieder beendet. Ist es eventuell sinnvoll diese offen zu lassen? Hat das irgendwelche negativen Auswirkungen auf andere Geräte/Apps/... die ebenfalls darauf zugreifen wollen?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 17:02:57
Zitat von: dominik am 11 Februar 2022, 16:57:59
Achso...noch dazu...
INVALID_COMMAND oder TIMEOUT bekomme ich direkt von der Library. Was mir noch aufgefallen ist, es wird bei jeder Abfrage die Connection neu aufgebaut und dann wieder beendet. Ist es eventuell sinnvoll diese offen zu lassen? Hat das irgendwelche negativen Auswirkungen auf andere Geräte/Apps/... die ebenfalls darauf zugreifen wollen?

Wenn du damit die Zeit zwischen zwei Intervallen meinst, dann sollte man die Connection lieber zu lassen damit eine App o.ä. zugreifen kann. Wenn du aber die Abfrage der Readings bei einem Intervall meinst, dann würde ich die Con offen lassen bis alle Readings abgerufen wurden.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 17:11:02
Genau, die Zeit zwischen 2 Abrufen meinte ich. Ok, bedeutet es kann immer nur ein Device eine Connection aufbauen?
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 11 Februar 2022, 17:14:34
So ist es leider. RCT verspricht schon seit über einem Jahr ein Update der Firmware, mit der das Verhalten besser werden soll. Bisher kam nichts.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 11 Februar 2022, 20:48:15
Neues Release:
- attr default_readings on/off
- attr error_reading on/off

So ist es vielleicht klarer und es bleiben alle Möglichkeiten vorhanden :)
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 11 Februar 2022, 21:49:20
Klappt sehr sehr gut  :) :) :)
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 12 Februar 2022, 07:29:21
Super. Nochmal danke, dass du mein Modul überfüssig gemacht hast. ;) Das hier klappt deutlich besser (was die Performance angeht, was zu mehr Konsistenz in den angezeigten Daten führt). Dass du die Ideen mit dem JSON Reading übernommen hast ist Klasse und das format nun drin ist auch.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 07:36:22
Gerne :)

Stimmt, Format kann nun auch angegeben werden.

Ich werde mir dann noch WRITE ansehen, das sollte auch möglich sein. Gibt es in den Herstellerapps irgendwelche Werte die dort geschrieben werden?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 10:03:40
Auch von mir nochmal ein großes Lob und danke :)

In der App können z.B. folgene Werte geschrieben werden:

battery.soc_target
battery.soc_target_low
display_struct.brightness
display_struct.contrast
power_mng.battery_power
power_mng.soc_max
power_mng.soc_min
p_rec_lim[0]
p_rec_lim[1]
p_rec_lim[2]

Vielleicht nimmt man erstmal nur die beiden Display Werte. Das kann man leicht testen ohne den Inverter zu beeinflussen.



Titel: Antw:fhempy: rct_power
Beitrag von: febus am 12 Februar 2022, 14:08:52
Zitat von: dominik am 11 Februar 2022, 15:53:43
Wenn du einen Pi hast, dann mach einfach ein Standard Upgrade auf bullseye, dort ist Python 3.9 Standard. Ich empfehle keinesfalls Python manuell zu installieren.
Ok, das hat mich jetzt den Freitagabend gekostet, aber mein Pi ist auf dem aktuellen Stand und die Verbindung funktioniert. Danke dir!
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 14:17:35
Zitat von: febus am 12 Februar 2022, 14:08:52
Ok, das hat mich jetzt den Freitagabend gekostet, aber mein Pi ist auf dem aktuellen Stand und die Verbindung funktioniert. Danke dir!

Ja, da muss man einmal durch ;) Glaub mir, der andere Weg mit manueller Installation verursacht sonst immer wieder Probleme. So hast du jetzt ein sauberes System.

Ad Write, ok, werde Mal brightness implementieren. Was für Werte kann man da schicken?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 15:27:51
In der Registry ist es als Byte Wert beschrieben:

0x29BDA75F
UINT8
UINT8
display_struct.brightness
Display brightness, [0..255]

Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 18:34:35
Write für display brightness ist implementiert. Bitte mal ausprobieren, bin gespannt...
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 20:17:55
Habs grad getestet aber klappt leider nicht :(

Auf den Events ist der Befehl zu sehen aber am Display ändert sich nichts. Ich schaue mal in deinen Code ob mir was auffällt

2022-02-12 20:13:15 fhempy RCTPower_AR power_grid_total: 755.20
2022-02-12 20:13:15 fhempy RCTPower_AR power_battery: 1.67
2022-02-12 20:13:15 fhempy RCTPower_AR overpow: 756.87
2022-02-12 20:13:21 fhempy RCTPower_AR display_brightness 255
2022-02-12 20:13:27 fhempy RCTPower_AR power_grid_total: 730.15
2022-02-12 20:13:27 fhempy RCTPower_AR power_battery: 1.65
2022-02-12 20:13:27 fhempy RCTPower_AR overpow: 731.8
2022-02-12 20:13:39 fhempy RCTPower_AR display_brightness 1
2022-02-12 20:13:39 fhempy RCTPower_AR power_grid_total: 759.75
2022-02-12 20:13:39 fhempy RCTPower_AR power_battery: 1.70
2022-02-12 20:13:39 fhempy RCTPower_AR overpow: 761.45
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 20:28:34
So wie es aussieht nutzt du eine andere Lib als die von rctclient, die ja beim lesen prima funktioniert.

Werden in deiner Lib die Daten auch nach diesem Workflow bearbeitet ?

Open a TCP socket to the device.
If payload is to be sent (write commands), use encode_value() to encode the data.
Craft a frame (using SendFrame or make_frame()) with the correct object ID and command set and, if required, include the payload.
Send the frame via a TCP socket to the device.
Read the response into a ReceiveFrame
Once complete, decode the response value using decode_value()
Repeat steps 2-6 as long as required.
Close the socket to the device.


Und das hier ist ein Beispiel von der rctclient Lib:
https://rctclient.readthedocs.io/en/latest/usage.html#sendframe (https://rctclient.readthedocs.io/en/latest/usage.html#sendframe)


SendFrame

SendFrame is used to craft the byte stream used to send a request to the device. Uppon constructing the frame, it automatically crafts the byte stream, which is then available in the data property and can be sent to the device.

Note

The payload has to be encoded before passing it to SendFrame e.g. using encode_value().
The following example crafts a read command for the battery state of charge (battery.soc). The data that is to be sent via a network socket can be read from frame.data in the end:

>>> from rctclient.registry import REGISTRY as R
>>> from rctclient.frame import SendFrame
>>> from rctclient.types import Command
>>>
>>> oinfo = R.get_by_name('battery.soc')
>>> frame = SendFrame(command=Command.READ, id=oinfo.id)
>>> frame
<SendFrame(command=1, id=0x959930BF, payload=0x)>
>>> frame.data.hex()
'2b0104959930bf0d65'
make_frame

As discussed earlier, make_frame() is used internally by SendFrame. It basically behaves the same but does not require object instantiation and all that comes with it, but instead simply returns the generated bytes to be sent.

>>> from rctclient.registry import REGISTRY as R
>>> from rctclient.frame import make_frame
>>> from rctclient.types import Command
>>>
>>> oinfo = R.get_by_name('battery.soc')
>>> frame_data = make_frame(command=Command.READ, id=oinfo.id)
>>> frame_data.hex()
'2b0104959930bf0d65'
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 20:38:24
Nein, keine andere Lib, ist weiterhin rctclient.

Open a TCP socket to the device.
reader, writer = await open_connection(
                    host=self._hostname, port=self._port
                )

If payload is to be sent (write commands), use encode_value() to encode the data.
payload = encode_value(oinfo.request_data_type, value)

Craft a frame (using SendFrame or make_frame()) with the correct object ID and command set and, if required, include the payload.
send_command_frame = SendFrame(
            command=Command.WRITE, id=object_id, payload=payload
        )

Send the frame via a TCP socket to the device.
await writer.drain()
writer.write(send_command_frame.data)

Read the response into a ReceiveFrame
gleich wie bei READ

Once complete, decode the response value using decode_value()
gleich wie bei READ

Repeat steps 2-6 as long as required.
gleich wie bei READ

Close the socket to the device.
gleich wie bei READ

Einzige was man probieren könnte, das writer.drain() NACH writer.write(...) zu machen. Kannst du die beiden Zeilen mal im Code tauschen und ausprobieren?
sudo -u fhem bash
nano /opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/rct_power/api.py


Danach fhempy restart.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 21:00:24
Ja probiere ich mal
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 21:11:42
ich glaube ich hab den Fehler...Moment noch...
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 21:17:13
Update (0.1.229) ist in wenigen Minuten online, bitte damit testen. Ich hatte str statt int an encode_value übergeben.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 21:18:12
Mein Versuch schlug auch fehl :)

Ist dieser error beim restart von fhempy normal?

OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 21:21:22
Nein, du hast 2 fhempy Prozesse laufen, das ist nicht gut.

Kann es sein, dass du einen fhempyserver_15733 in FHEM hast aber auch ein /etc/systemd/system/fhempy.service? Wenn ja, dann sudo systemctrl disable fhempy machen.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 21:26:45
Puh, muss ich mal schauen  :o

ABER: es funktioniert !!!  :D :D :D

Der slider springt zwar nach dem senden wieder auf 0 und ich glaube der WR nimmt nur Werte bis 100, aber es tut !!!
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 21:31:25
Zitat von: dominik am 12 Februar 2022, 21:21:22
Nein, du hast 2 fhempy Prozesse laufen, das ist nicht gut.

Kann es sein, dass du einen fhempyserver_15733 in FHEM hast aber auch ein /etc/systemd/system/fhempy.service? Wenn ja, dann sudo systemctrl disable fhempy machen.

Ich habe nur einen fhem.service. Keinen fhempy.service....


Hab nochmal nen restart von fhempy gemacht:

File "/usr/local/bin/fhempy", line 113, in <module>
    fpb.run()
  File "/usr/local/lib/python3.7/dist-packages/fhempy/lib/fhem_pythonbinding.py", line 506, in run
    asyncio.get_event_loop().run_until_complete(async_main())
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.7/dist-packages/fhempy/lib/fhem_pythonbinding.py", line 499, in async_main
    pybinding, "0.0.0.0", port, ping_timeout=None, ping_interval=None
  File "/usr/local/lib/python3.7/dist-packages/websockets/legacy/server.py", line 1042, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use



Und diese devices habe ich bei fhempy
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 21:32:31
Ja, super! :)

Slider springt auf 0 weil du kein Reading mit dem gleichen Namen hast. Du brauchst ein Reading display_brightness dann stellt sich der Slider genau auf diesen Wert.

Laut REGISTRY gehen Werte bis 255, ich würde es daher so lassen!?

Dann brauch ich jetzt nur noch die Info was noch geschrieben werden soll?
Bitte gleich:
- Name der ObjectInfo aus der Registry
- Mögliche Werte (evtl. mit App vergleichen)
Das sollte jetzt schnell zu implementieren gehen.


//Edit: Wg. fhempy, mach mal einen Neustart vom RPi.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 21:50:24
Am wichtigsten wären mir diese beiden Werte:

0x85886E2E
FLOAT
FLOAT
W
p_rec_lim[0]
Max. compensation power


Und

0x1156DFD0
FLOAT
FLOAT
W
power_mng.battery_power
Battery discharge power


Sind beide  Float und sollten von 0-10000 reichen


Dann wären noch folgende gut:

0xCE266F0F
FLOAT
FLOAT
power_mng.soc_min
Min SOC target


Und

0x97997C93
FLOAT
FLOAT
power_mng.soc_max
Max SOC target


Ebenfalls float, aber Wertebereich von 0-1


Damit würde ich dann morgen mal die Readings auf der App vergleichen.  Ich muss dafür an einen anderen Rechner wegen Amdroid.

Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 21:57:02
Ist in paar Minuten online.

Bei 0-1, meinst du 0 oder 1 oder 0,001-0,999? Hab mal nur 0,1 aufgenommen. Wobei du beim set Befehl in der Command Line natürlich 0,01 mitgeben kannst, nur die Optionen habe ich mit 0,1 aufgenommen.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 22:15:40
Von 0-1 in 0,01 wäre gut :)

Fantastisch, dass das jetzt alles läuft. Ein super Modul  :D :D :D

Die Tests mache ich dann morgen Vormittag
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 22:45:24
Ist das bei mir richtig mit den beiden fhempy devices ?
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 23:00:02
Der fhempy_peer darf nicht da sein. Der erscheint nur, wenn du einen weiteren fhempy Peer irgendwo im Netz laufen hast. Ich glaube jedoch, dass du eine 2. fhempy Instanz laufen hast. Das erklärt auch die Fehler von vorhin.

Mach mal:
sudo pip3 uninstall fhempy

Weil in /usr/bin war es meines Wissens installiert und dort sollte es nicht sein. Kann es sein, dass du irgendwo ein Script für einen Autostart von fhempy eingefügt hast?
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 23:04:56
0,01 - 1,00 für beide Werte ist in paar Minuten online :)

Gibt es sonst noch etwas was im Modul benötigt wird?
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 23:26:22
Also ich bin jetzt erstmal wunschlos glücklich 😀

Nur eine Frage noch: liegt es am Modul oder am Inverter, dass konstante Werte nicht aktualisiert werden ?
Auf dem Bild sieht man, dass die Werte die sich mangels Sonne nicht mehr ändern, nicht aktualisiert werden.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 12 Februar 2022, 23:29:00
Ich nutze readingsBulkUpdateIfChanged, die Readings aktualisieren sich also nur, wenn sich die Werte ändern. Kann es gerne umstellen, dass alle 10s alles aktualisiert wird, nur sollte man dann unbedingt event_on_change, etc. nutzen damit FHEM nicht andauernd Events bekommt und somit belastet wird.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 23:31:14
Zitat von: dominik am 12 Februar 2022, 23:00:02
Der fhempy_peer darf nicht da sein. Der erscheint nur, wenn du einen weiteren fhempy Peer irgendwo im Netz laufen hast. Ich glaube jedoch, dass du eine 2. fhempy Instanz laufen hast. Das erklärt auch die Fehler von vorhin.

Mach mal:
sudo pip3 uninstall fhempy

Weil in /usr/bin war es meines Wissens installiert und dort sollte es nicht sein. Kann es sein, dass du irgendwo ein Script für einen Autostart von fhempy eingefügt hast?


Da war tatsächlich noch eine 0.1.222 drauf. Wahrscheinlich durch meinen update versuch vor drei tagen auf der shell als root....
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 12 Februar 2022, 23:34:11
Zitat von: dominik am 12 Februar 2022, 23:29:00
Ich nutze readingsBulkUpdateIfChanged, die Readings aktualisieren sich also nur, wenn sich die Werte ändern. Kann es gerne umstellen, dass alle 10s alles aktualisiert wird, nur sollte man dann unbedingt event_on_change, etc. nutzen damit FHEM nicht andauernd Events bekommt und somit belastet wird.

Dann lass es ruhig mal so. Ist sicher besser für die Performance.
Titel: Antw:fhempy: rct_power
Beitrag von: marvin78 am 13 Februar 2022, 09:27:38
Naja. Ich bin der Meinung, sowas sollte man dem User überlassen. Bevorundung kann ich nicht leiden. Wer es nicht schafft, sein System so weit zu verstehen, dass er eocr setzen kann und an verschiedenen Stellen sollte, fällt eben hinten runter. Das ist ok. Im Grunde ist es mir in konkreten Fall aber egal.

Was mir am Modul noch fehlt ist ein set active/inactive oder Standard-disable. Sowas sollte jedes Modul haben. Dann wäre es soweit, mein Modul auch bei mir vollständig abzulösen.
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 13 Februar 2022, 09:49:46
Beides hinzugefügt:
- disable Attribut
- update_readings Attribut (default on_change)

Bitte beides testen, kann sein, dass beim disable noch ein Fehler im Log auftaucht.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 13 Februar 2022, 10:50:54
Bei den SoC Werten stimmt der Slider noch nicht (Foto).

Ich würde es aber auch besser finden, wenn diese Systemwerte einfach nur per Eingabefeld gesetzt werden. Dann gibt man das bewusster ein und hantiert nicht mit einem Slider rum.

Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 13 Februar 2022, 10:56:08
Zitat von: chris_kmn am 13 Februar 2022, 10:50:54
Bei den SoC Werten stimmt der Slider noch nicht (Foto).

Ich würde es aber auch besser finden, wenn diese Systemwerte einfach nur per Eingabefeld gesetzt werden. Dann gibt man das bewusster ein und hantiert nicht mit einem Slider rum.

Da hast du noch nicht die aktuelle Version.
set local_pybinding update

Wegen slider, kann ich auch weg machen, dann würde ich im Hilfetext darunter schreiben was für Werte erlaubt sind. Ich finde die leere Textbox immer schade, weil da weiß kein neuer User was einzutragen ist.
Titel: Antw:fhempy: rct_power
Beitrag von: f-STEP am 13 Februar 2022, 10:56:43
Nur damit auch die Suche im Forum besser zum Ziel führt: RCT-Power
Und natürlich danke an Dominik für das Modul, es funktioniert schon ganz gut  :)
Titel: Antw:fhempy: rct_power
Beitrag von: dominik am 13 Februar 2022, 11:00:35
Zitat von: f-STEP am 13 Februar 2022, 10:56:43
Nur damit auch die Suche im Forum besser zum Ziel führt: RCT-Power
Und natürlich danke an Dominik für das Modul, es funktioniert schon ganz gut  :)

:) danke für den Hinweis, hab auch den 1. Post Betreff ergänzt.
Titel: Antw:fhempy: rct_power
Beitrag von: chris_kmn am 13 Februar 2022, 11:04:03
Zitat von: dominik am 13 Februar 2022, 10:56:08
Da hast du noch nicht die aktuelle Version.
set local_pybinding update

Wegen slider, kann ich auch weg machen, dann würde ich im Hilfetext darunter schreiben was für Werte erlaubt sind. Ich finde die leere Textbox immer schade, weil da weiß kein neuer User was einzutragen ist.

Aber da es sich um Systemvariablen handelt sollte man schon genau wissen was man da einträgt. Ein Slider verführt dann nur die Unwissenden und dann wundern sie sich, warum deren Batteriespeicher nicht mehr tut oder so.

Beim Display kann der Slider ja bleiben
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 11:05:14
Slider nach Update und restart:
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 11:07:45
Nochmal fhempy: nachdem ich es gestern als root auf der shell removed habe ist es immernoch da :(

Was kann ich noch machen ?

Das ist das Listing vom peer:

Internals:
   BindingType fhempy
   DEF        192.168.0.180:15733 fhempy
   DeviceName ws:192.168.0.180:15733
   FD         11
   FUUID      620814ca-f33f-5f85-2984-6d01dbc1624437d8
   IP         ws
   NAME       fhempy_peer_192_168_0_180
   NR         1258
   NTFY_ORDER 50-fhempy_peer_192_168_0_180
   PARTIAL   
   PORT       192.168.0.180:15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 0
   nextOpenDelay 10
   READINGS:
     2022-02-13 11:00:37   state           opened
     2022-02-13 11:00:37   version         0.1.233
   args:
     fhempy_peer_192_168_0_180
     BindingsIo
     192.168.0.180:15733
     fhempy
   argsh:
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      my $ver = ReadingsVal($name, "version", "-");;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a><a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start update\">".FW_makeImage("refresh")."</a></div>"    }
   group      Xiaomi
   icon       file_json-ld2
   room       Zigbee,fhempy
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 13 Februar 2022, 11:11:55
Zitat von: chris_kmn am 13 Februar 2022, 11:04:03
Aber da es sich um Systemvariablen handelt sollte man schon genau wissen was man da einträgt. Ein Slider verführt dann nur die Unwissenden und dann wundern sie sich, warum deren Batteriespeicher nicht mehr tut oder so.

Beim Display kann der Slider ja bleiben

Ich versuche immer neue User schnell zum Ziel zu führen. Im besten Fall muss nämlich niemand etwas konfigurieren oder sich wo einlesen. Leider haben wir bei FHEM aber noch keine Möglichkeit im Standard das gut umzusetzen. Textfeld: Weiß niemand was rein gehört und muss die Hilfe lesen - gerade bei Float Werten könnte jemand 0,1 statt 0.1 eintragen, Slider: Ist umständlich und gefährlich in der Bedienung.

Ich habe jetzt mal die Hilfe hinzugefügt. Bin gerne für weitere Ideen offen.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 13 Februar 2022, 11:14:00
Zitat von: chris_kmn am 13 Februar 2022, 11:07:45
Nochmal fhempy: nachdem ich es gestern als root auf der shell removed habe ist es immernoch da :(

Was kann ich noch machen ?

Das ist das Listing vom peer:

Internals:
   BindingType fhempy
   DEF        192.168.0.180:15733 fhempy
   DeviceName ws:192.168.0.180:15733
   FD         11
   FUUID      620814ca-f33f-5f85-2984-6d01dbc1624437d8
   IP         ws
   NAME       fhempy_peer_192_168_0_180
   NR         1258
   NTFY_ORDER 50-fhempy_peer_192_168_0_180
   PARTIAL   
   PORT       192.168.0.180:15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 0
   nextOpenDelay 10
   READINGS:
     2022-02-13 11:00:37   state           opened
     2022-02-13 11:00:37   version         0.1.233
   args:
     fhempy_peer_192_168_0_180
     BindingsIo
     192.168.0.180:15733
     fhempy
   argsh:
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      my $ver = ReadingsVal($name, "version", "-");;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a><a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start update\">".FW_makeImage("refresh")."</a></div>"    }
   group      Xiaomi
   icon       file_json-ld2
   room       Zigbee,fhempy


Das Device fhempy_peer kannst löschen. Falls es wieder auftaucht, hast du irgendwo noch fhempy installiert. Vielleicht hast du es auch als User pi installiert!? In allen Fällen müsstest du aber selbständig irgendwo noch ein Startskript eingefügt haben, weil fhempy startet (außer in FHEM, mit dem fhempyserver_15733 Device) sonst nicht von alleine.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 11:42:15
Zitat von: dominik am 13 Februar 2022, 11:11:55
Ich versuche immer neue User schnell zum Ziel zu führen. Im besten Fall muss nämlich niemand etwas konfigurieren oder sich wo einlesen. Leider haben wir bei FHEM aber noch keine Möglichkeit im Standard das gut umzusetzen. Textfeld: Weiß niemand was rein gehört und muss die Hilfe lesen - gerade bei Float Werten könnte jemand 0,1 statt 0.1 eintragen, Slider: Ist umständlich und gefährlich in der Bedienung.

Ich habe jetzt mal die Hilfe hinzugefügt. Bin gerne für weitere Ideen offen.

Na dann sammeln wir erstmal etwas Erfahrungen und schauen ob es hier weitere Meinungen dazu gibt :)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 11:47:01
Zitat von: dominik am 13 Februar 2022, 11:11:55
Ich versuche immer neue User schnell zum Ziel zu führen. Im besten Fall muss nämlich niemand etwas konfigurieren oder sich wo einlesen. Leider haben wir bei FHEM aber noch keine Möglichkeit im Standard das gut umzusetzen. Textfeld: Weiß niemand was rein gehört und muss die Hilfe lesen - gerade bei Float Werten könnte jemand 0,1 statt 0.1 eintragen, Slider: Ist umständlich und gefährlich in der Bedienung.

Ich habe jetzt mal die Hilfe hinzugefügt. Bin gerne für weitere Ideen offen.


Man könnte natürlich im Modul eine Wertüberprüfung machen und bei Fehler/Wertüberschreitung sperren & entsprechend melden.

Mir ist grad eingefallen, dass es beim SoC dann auch gleich auf die physikalischen Grenzwerte eingeschränkt werden sollte. Das sind 0.07-0.97. hab ich nicht gleich dran gedacht :(
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 11:49:18
So, SoC  Write getestet und klappt perfekt !

Max compensation power auch  :D :D :D :D
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 13 Februar 2022, 11:52:16
Zitat von: chris_kmn am 13 Februar 2022, 11:47:01

Man könnte natürlich im Modul eine Wertüberprüfung machen und bei Fehler/Wertüberschreitung sperren & entsprechend melden.

Mir ist grad eingefallen, dass es beim SoC dann auch gleich auf die physikalischen Grenzwerte eingeschränkt werden sollte. Das sind 0.07-0.97. hab ich nicht gleich dran gedacht :(

Sind die 0.07 - 0.97 Grenzwerte so zu verstehen, dass der Inverter beim Setzen auf 0 dann auf 0.07 setzt statt 0?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 12:18:39
Ich habe das noch nicht probiert, weil ein realer SoC von 0 eine Batterie zerstören würde, und ein SoC von 1 wäre auch nicht viel besser.

Nach gesundem Menschenverstand sollte das im inverter begrenzt sein, aber ich würde da nicht drauf schwören. Darum würde ich es hier lieber einschränken.

Nach ein wenig Spielen wäre es schön, wenn man diese beiden Parameter auch noch setzen könnte:

0xDF0A735C    FLOAT     FLOAT     A     battery.maximum_discharge_current    Max. discharge current
0x1E5FCA70    FLOAT     FLOAT     A      battery.maximum_charge_current       Max. charge current

Beides wieder Float, Wertebereich von 0 - 20  (Ampere), auch besser ohne Slider.


Dann sollte es aber wirklich genug sein ;-)

Funktioniert alles ganz fein und ordentlich ! Coole Sache
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 13 Februar 2022, 12:29:25
Mein SOC Grenzwert ist 105%. Das liegt an gewissen Umständen. Hier eine Grenze bei 97 einzubauen ist nicht korrekt. Die 7 als Grenze nach unten ist auch nicht sinnvoll.

Bitte meistens den User entscheiden lassen!
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 12:38:26
Ein SoC von >100% ist schonmal per Definition Unsinn. Aber das kann gerne jeder für sich verantworten. "Gewisse Umstände" ist ein sehr gewagter Begriff für ein Batteriesystem.

Es kann natürlich sein, dass die Entwickler 100% SoC als 100% der Nutzbaren Kapazität definieren. Aber auch hier würde ich nicht mit dem Feuer spielen. Bei mir stehen 0,07-0,97 drin und ab 0,05 eine Erhaltungsladung.

Ich rate jedem davon ab diese Werte zu über- oder unterschreiten  !!! Damit ist dann mindestens die Garantie hinüber.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 13 Februar 2022, 12:41:32
Ich weiß, was ich tue und es ist mit dem Hersteller besprochen. Es gibt komplexe Gründe dafür. Zu viel für hier. Nur soviel: bei 100% ist der echte Grenzwert nicht annähernd erreicht. 0% entspricht in Wirklichkeit etwa 5 % (je nach System) ;)

es ist nicht Unsinn. 105% veranlasst das System unter gewissen Umständen zu anderen Reaktionen und mildert Firmware Bugs. Ein Trick der vom Hersteller empfohlen wurde.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 13 Februar 2022, 12:42:15
Zitat von: chris_kmn am 13 Februar 2022, 12:18:39
Ich habe das noch nicht probiert, weil ein realer SoC von 0 eine Batterie zerstören würde, und ein SoC von 1 wäre auch nicht viel besser.

Nach gesundem Menschenverstand sollte das im inverter begrenzt sein, aber ich würde da nicht drauf schwören. Darum würde ich es hier lieber einschränken.

Nach ein wenig Spielen wäre es schön, wenn man diese beiden Parameter auch noch setzen könnte:

0xDF0A735C    FLOAT     FLOAT     A     battery.maximum_discharge_current    Max. discharge current
0x1E5FCA70    FLOAT     FLOAT     A      battery.maximum_charge_current       Max. charge current

Beides wieder Float, Wertebereich von 0 - 20  (Ampere), auch besser ohne Slider.


Dann sollte es aber wirklich genug sein ;-)

Funktioniert alles ganz fein und ordentlich ! Coole Sache

Beides hinzugefügt. Update ist in paar Minuten online.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 Februar 2022, 13:16:19
Zitat von: marvin78 am 13 Februar 2022, 12:41:32
Ich weiß, was ich tue und es ist mit dem Hersteller besprochen. Es gibt komplexe Gründe dafür. Zu viel für hier. Nur soviel: bei 100% ist der echte Grenzwert nicht annähernd erreicht. 0% entspricht in Wirklichkeit etwa 5 % (je nach System) ;)

es ist nicht Unsinn. 105% veranlasst das System unter gewissen Umständen zu anderen Reaktionen und mildert Firmware Bugs. Ein Trick der vom Hersteller empfohlen wurde.

Wenn es abgesprochen ist, dann ist es ja ok. Ich würde es halt nur nicht zum Standardvorgehen machen. Aber nochmal, das muss halt jeder für sich entscheiden. Mir ist es letztlich egal.

Dominik - DANKE  !!!!! ;D :D :D
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 13 Februar 2022, 13:19:30
Das war auch keinesfalls so gemeint. Es sollte nur erklären, warum feste Grenzwerte nicht gerade clever sind...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 Februar 2022, 08:27:18
Hi und guten Morgen Dominik,

wenn du nochmal an das Modul gehen solltest könntest du dann noch diesen Wert mit in den Write-Bereich packen ?

0x9A67600D   FLOAT   FLOAT   W   p_rec_lim[2]   Pac max.

Wieder Float und Wertebereich von 0 - 10000 (Watt)

Dann haben wir alle Wechselrichterlimitierungen im Programm. Aber nur wenns mal passt bei dir....

Mille gracie ;-)

  Chris
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: febus am 14 Februar 2022, 18:24:40
Darf ich nochmal eine Anfängerfrage stellen?
Verbindung klappt. Mit welchem Reading erhalte ich denn die aktuelle Netzeinspeisung?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 Februar 2022, 18:59:11
Die Einspeiseleistung ist folgendes Reading:

g_sync.p_ac_grid_sum_lp

Hier findest du alle Werte des RCT Systems:

https://rctclient.readthedocs.io/en/latest/inverter_registry.html (https://rctclient.readthedocs.io/en/latest/inverter_registry.html)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 Februar 2022, 19:40:14
Und diese Readings habe ich aktuell bei mir im device_readings_json:

{
"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_grid_load_day": {
"reading":"energy_day_grid_load",
"factor":1
},
"g_sync.p_ac_sum_lp": {
"reading":"power_ac",
"factor":1
},
"g_sync.p_ac_grid_sum_lp": {
"reading":"power_grid_total",
"factor":1
},
"g_sync.p_acc_lp": {
"reading":"power_battery",
"factor":1
},
"db.temp1": {
"reading":"temperature_wr",
"factor":1
}
}
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 14 Februar 2022, 20:18:59
Zitat von: chris_kmn am 14 Februar 2022, 08:27:18
Hi und guten Morgen Dominik,

wenn du nochmal an das Modul gehen solltest könntest du dann noch diesen Wert mit in den Write-Bereich packen ?

0x9A67600D   FLOAT   FLOAT   W   p_rec_lim[2]   Pac max.

Wieder Float und Wertebereich von 0 - 10000 (Watt)

Dann haben wir alle Wechselrichterlimitierungen im Programm. Aber nur wenns mal passt bei dir....

Mille gracie ;-)

  Chris

Ist erledigt und online.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 Februar 2022, 21:02:01
Dankedankedankeschön :)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 15 Februar 2022, 07:48:36
Ich sehe noch einen Schönheitsfehler. Wenn man den Faktor -1 verwendet, wird aus 0 eine "-0". Das sieht doof aus und führt ggf. zu Missverständnisse. Sonst läuft das ganze aber sehr schön und stabil.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 20:37:38
Hi,

kann es sein, dass dein Wert eventuell 0.00001 oder so war? Weil in Python kommt da auch kein -0 raus:
>>> 0*-1
0
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 15 Februar 2022, 20:50:14
Ah. Das kann sein. Also kommt Faktor vor Format. Ich überlege gerade, ob es sinnvoll wäre, den Faktor nach dem Format einzubauen. Vermutlich hat das ggf. aber Seiteneffekte.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 21:19:16
Genau, Format ist nur ein Darstellungsformat, das ändert nix am Wert.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 15 Februar 2022, 22:08:54
Ich habe jetzt gerade versucht fhempy mit dem RCT Modul zum Laufen zu bekommen.
Aber das Device sagt immer "fhempyserver offline"


Internals:
   DEF        rct_power 192.168.178.183
   FHEMPYTYPE rct_power
   FUUID      620c133c-f33f-bfba-4b60-3293f198a2bfc550
   IODev      fhempy_local
   NAME       my_rct_device
   NR         307
   PYTHONTYPE rct_power
   STATE      fhempy server offline
   TYPE       fhempy
   READINGS:
     2022-02-15 22:06:49   state           fhempy server offline
   args:
     my_rct_device
     fhempy
     rct_power
     192.168.178.183
   argsh:
   hmccu:


und im FHEM Log steht:

BindingsIo (fhempy_local): ERROR fhempy_local - error while connecting: 127.0.0.1: Connection refused (111)

Und noch die anderen Devices:

Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:127.0.0.1:15733
   FUUID      620c12fe-f33f-bfba-a670-85ddce4c64f6bba5
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1644959252.25522
   NR         305
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      fhempy server offline
   TYPE       BindingsIo
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2022-02-15 22:07:30   state           fhempy server offline
   args:
     fhempy_local
     BindingsIo
     fhempy
   argsh:
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      my $ver = ReadingsVal($name, "version", "-");;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a><a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start update\">".FW_makeImage("refresh")."</a></div>"    }
   group      Gateways
   icon       file_json-ld2
   room       System



Historie löschen
Internals:
   DEF        0
   FD         21
   FUUID      620c12fe-f33f-bfba-bbaa-932648c17b83e0d1
   LAST_START 2022-02-15 22:08:23
   LAST_STOP  2022-02-15 22:08:23
   NAME       fhempyserver_15733
   NR         306
   NTFY_ORDER 50-fhempyserver_15733
   PID        22977
   STARTS     8
   STATE      ???
   TYPE       fhempyServer
   currentlogfile ./log/fhempy-2022-02-15.log
   logfile    ./log/fhempy-%Y-%m-%d.log
   CoProcess:
     cmdFn      fhempyServer_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2022-02-15 22:08:23   fhempy          running FHEM/bindings/python/bin/fhempy
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "running";;      if (substr(ReadingsVal($name, "fhempy", "running"),0,7) ne "running") {        $status_img = "10px-kreis-rot";;        $status_txt = "stopped";;      }      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart\">".FW_makeImage("audio_repeat")."</a></div>"      }
   group      Gateways
   icon       python
   logfile    ./log/fhempy-%Y-%m-%d.log
   nrarchive  10
   room       System
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 22:13:27
Bitte den Inhalt vom fhempy log posten.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 15 Februar 2022, 22:14:13
Das ist leider komplett leer...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 22:15:51
Das ist eigenartig, hast du sicher in /opt/fhem/log/fhempy-......log geschaut?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 15 Februar 2022, 22:17:56
Ok - ich hatte in der FHEM-Oberfläche auf den Log-Link geklickt und das war leer - in der Konsole ist folgendes drin:


2022-02-15 22:15:45,032 - ERROR    - __main__: Failed to install fhempy, exit now...
2022-02-15 22:16:45,281 - WARNING  - __main__: Failed to load fhempy: No module named 'fhempy'
2022-02-15 22:16:45,281 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2022-02-15 22:16:50,004 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-33lsxcz6/dbus-python/
2022-02-15 22:16:50,005 - ERROR    - __main__: Failed to install fhempy, exit now...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 22:19:01
Was hast du für ein System?

Mach bitte
sudo -u fhem bash
pip3 install fhempy

und poste den Output.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 15 Februar 2022, 22:23:23
Ich habe Dietpi auf einer Synology VM.
Ich hab zuvor geschaut - habe momentan noch Debian buster als Basis und die Apt-Packages installiert, sowie CPAN.

Aber jetzt wo ich deine commands sehe - ich habe die packages als root installiert - das könnte das Problem sein, oder?

Die Installation ist trotzdem fehlgeschlagen:

fhem@fhem-vm-prod:/root$ pip3 install fhempy

Collecting fhempy
  Using cached https://files.pythonhosted.org/packages/74/44/ea0e124125d17d1b30dd62db0cea1d0946028a76c6a3b708f35dcc414561/fhempy-0.1.238-py3-none-any.whl
Collecting aiohttp[speedups]==3.7.4.post0 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/99/f5/90ede947a3ce2d6de1614799f5fea4e93c19b6520a59dc5d2f64123b032f/aiohttp-3.7.4.post0.tar.gz
  Installing build dependencies ... done
Collecting websockets==10.0 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/5c/cd/94b3f161df0d4e7ffca58f45cd21dd2701ae49ea1eed0aa3123314edaab2/websockets-10.0-cp37-cp37m-manylinux1_x86_64.whl
Collecting dbus-python==1.2.18 (from fhempy)
  Using cached https://files.pythonhosted.org/packages/b1/5c/ccfc167485806c1936f7d3ba97db6c448d0089c5746ba105b6eb22dba60e/dbus-python-1.2.18.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'
   
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-dhsfaivu/dbus-python/
fhem@fhem-vm-prod:/root$

Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 22:27:13
Die Packages musst du im Normalfall eh nicht installieren, das wird automatisch gemacht. Installier mal setuptools, das fehlt laut Log.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 15 Februar 2022, 22:40:12
Jetzt hat's funktioniert! Der Server steht und das Device verbindet sich.

Die Konsole hat zwischendurch zwar noch zwei Fehler geworfen, aber darüber sehe ich mal hinweg:

Building wheels for collected packages: dbus-python, aiohttp, multidict, cffi
  Running setup.py bdist_wheel for dbus-python ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5y1vod_6/dbus-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-jp95f8t5 --python-tag cp37:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
 
  error: invalid command 'bdist_wheel'
 
  ----------------------------------------
  Failed building wheel for dbus-python


Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-5y1vod_6/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-0ec1ghop --python-tag cp37:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
 
  error: invalid command 'bdist_wheel'
 
  ----------------------------------------
  Failed building wheel for cffi


Aber unterm Strich wurde trotzdem alles installiert glaube ich...

uccessfully built aiohttp multidict
Failed to build dbus-python cffi
Installing collected packages: dbus-python, attrs, chardet, multidict, async-timeout, idna, yarl, pycparser, cffi, pycares, aiodns, brotlipy, cchardet, aiohttp, importlib-metadata, websockets, ifaddr, zeroconf, six, cryptography, markdown2, fhempy
  Running setup.py install for dbus-python ... done


Mit Python habe ich leider sehr wenig Erfahrung...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 Februar 2022, 22:43:29
Das dbus-python Package macht Probleme, aber das brauchst du eh nicht solange du kein Bluetooth nutzt. Vielleicht kann ich das in Zukunft noch obsolet machen, weil das schon bei anderen nicht RPi Systemen Probleme gemacht hat.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 16 Februar 2022, 10:03:33
Zitat von: dominik am 15 Februar 2022, 21:19:16
Genau, Format ist nur ein Darstellungsformat, das ändert nix am Wert.

Nun. Das ist klar. Die Frage ist, ob es Sinn macht, die Reihenfolge zu ändern oder ob man es mit einer Bedinung macht.

Aber ich denke auch, dass das Probleme machen könnte. Ich werde es mit einem userReading lösen und das Minus entfernen.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: febus am 19 Februar 2022, 10:33:44
Kann ich irgendwie den Wert für power_mng.soc_charge über das Modul setzen?

Mit
set RCT power_mng.soc_charge 0.2
scheint das nicht getan zu sein...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 19 Februar 2022, 10:56:17
Das Command gibt es noch nicht. Gerne hier die Commands aussuchen die du noch brauchst:
https://rctclient.readthedocs.io/en/latest/inverter_registry.html

und mir dann bitte die Zeile kopieren und hier posten, dann füge ich alle ein die du gerne hättest.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: febus am 19 Februar 2022, 10:59:40
Super, ich danke dir schon vorab! Das Modul ist wirklich extrem hilfreich!
Dieser Befehl fehlt mir im Moment:

0x1D2994EA
FLOAT
FLOAT
W
power_mng.soc_charge_power
Maintenance charge power

Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 19 Februar 2022, 11:11:30
Das ist aber nur der Leistungswert für die Erhaltungsladung bei leerer Batterie. Der liegt bei 100 Watt. Willst du das wirklich ändern ?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: febus am 19 Februar 2022, 11:16:28
Mist, da war ich zu schnell. Danke fürs Aufpassen.
Ich meinte
0xBD3A23C3
FLOAT
FLOAT
power_mng.soc_charge
SOC min maintenance charge

Ich möchte die minimale Ladung der Batterie festlegen, ab der die Erhaltungsladung einsetzt.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 19 Februar 2022, 11:18:34
Zitat von: chris_kmn am 19 Februar 2022, 11:11:30
Das ist aber nur der Leistungswert für die Erhaltungsladung bei leerer Batterie. Der liegt bei 100 Watt. Willst du das wirklich ändern ?

Da will ich gleich ergänzen:
Ich kann das alles implementieren, habe aber selber kein RCT Power Gerät. Daher kann ich keinerlei Garantie dafür übernehmen was ihr für Werte schreibt. Bitte selbstverantwortlich damit umgehen, man sollte wissen was man tut.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 19 Februar 2022, 20:27:33
Zitat von: febus am 19 Februar 2022, 11:16:28
Mist, da war ich zu schnell. Danke fürs Aufpassen.
Ich meinte
0xBD3A23C3
FLOAT
FLOAT
power_mng.soc_charge
SOC min maintenance charge

Ich möchte die minimale Ladung der Batterie festlegen, ab der die Erhaltungsladung einsetzt.

Ist online.
set ... min_soc_maint_charge

Ich denke 0.00 - 1.00 kann gesetzt werden, falls ich da falsch liege, lass es mich wissen. Ich habe es so in den help Text aufgenommen.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: febus am 19 Februar 2022, 22:22:29
Zitat von: dominik am 19 Februar 2022, 20:27:33
Ist online.
set ... min_soc_maint_charge

Ich denke 0.00 - 1.00 kann gesetzt werden, falls ich da falsch liege, lass es mich wissen. Ich habe es so in den help Text aufgenommen.
Klasse! Ich danke Dir, funktioniert wie es soll!
0.00-1.00 ist richtig.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 01 März 2022, 19:30:04
Lieber Dominik,

wenn du mal wieder Hand anlegen solltest wärst du nochmal so nett folgenden Set-Wert aufzunehmen:

0xFE1AA500
FLOAT
buf_v_control.power_reduction
External power reduction based on solar plant peak power
[0..1]

Danchreschön :)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 03 März 2022, 19:46:30
Erledigt!

Wer einen github Account hat, kann auch gerne einen Pull Request erstellen für neue Funktionen. Es braucht nur hier
https://github.com/dominikkarall/fhempy/blob/development/FHEM/bindings/python/fhempy/lib/rct_power/rct_power.py#L162
jeweils ein neues Command hinzugefügt werden. Das geht auch direkt im Webbrowser mit dem "Edit" Symbol links oben.

"NAME_DER_SET_FUNCTION": {
        "args": ["value"],
        "params": {"value": {"format": "float"}},
        "help": "HILFTEXT ALS HTML",
        "function": "set_rct_write",
        "function_param": OBJECT_ID_HEX,
},

Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 03 März 2022, 20:20:56
Super, danke dir!
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 16 März 2022, 20:05:11
Wenn ich mir hier noch was wünschen darf, dann würde ich folgendes vorschlagen:

Es wäre gut, wenn man die set-Befehle, wie die Readingnamen, selbst konfigurieren könnte. Ich denke, dass manche set Befehle nicht sehr gut gewählt sind und nicht zu den sinnvollen Reading-Namen passen, was dazu führt, dass die Vorgabe beim set im Frontend fehlt.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Zeitisen am 02 April 2022, 16:36:42
Hallo,
nach dem mein erster Versuch mit dem Modul von Marvin78 jetzt fast ein Jahr auf Eis gelegen hat, weil ich immer wieder Probleme mit dem Speicherplatz hatte,
habe ich jetzt einen neuen Anlauf genommen und mit dem fhempy Modul angefangen.
Die Installation war problemlos auf einem neuen System mit Bullseye.
Nun habe ich eine Frage zu den Readings. Beim Modul von Marvin78 war vorgesehen, auch eine Einheit anzugeben. Das würde die Lesbarkeit deutlich erhöhen.
Ist das hier auch möglich? Ich habe keine Doku dazu gefunden.
{
    "values":[
    {
      "name": "battery.soc", # Wert aus Registry
      "reading": "battery_soc", # gewünschter Readingname
      "unit": "%", # Einheit (noch ohne Funktion)
      "factor": 100, # Faktor für den gelesenen Wert
      "intervalFactor": 1, # wie oft soll der Wert gelesen werden (hier jedes mal) / 10 würde bedeuten, jedes 10. mal.
      "format": "%.1f"
    },
    ...
    ]
  }
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 02 April 2022, 16:43:00
Ich habe das bei mir mit stateformat gelöst:

{sprintf("SoC: %.1f%% . . P-WR: %dW . . P-Grd: %dW . . P-Bat: %dW",␤ReadingsNum($name,"battery_soc",0),␤ReadingsNum($name,"power_ac",0),␤ReadingsNum($name,"power_grid_total",0),␤ReadingsNum($name,"power_battery",0))}
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 02 April 2022, 19:46:25
Ich denke auch, dass solche Dinge das Frontend übernehmen sollte. Wobei es natürlich einfach wäre, das wieder zu implementieren, für Leute, die es brauchen.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Zeitisen am 03 April 2022, 12:55:18
Danke für die Info.

Wenn das mit stateformat funktioniert, muss man es natürlich nicht in ein Modul implementieren.

Vielleicht könnte man die Formatierung als Beispiel in die Doku mit aufnehmen.

Ebenso praktisch in der Doku wäre der Link auf die RCT-Doku
https://rctclient.readthedocs.io/en/latest/inverter_registry.html

Mein persönliches Problem ist, dass ich mit den Formatierungsfunktionen von Fhem und Perl auf Kriegsfuß stehe.
Auswendig kann ich die nicht, weil ich das zu selten verwende. Wo ich nachschauen muss, ist auch immer problematisch.
Dann gibt es noch die Frage, wann Fhem allein reicht und wann ich Perl brauche.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Slanesh am 05 April 2022, 15:03:02
Hallo zusammen,

kann ich dieses Modul vor einem kompletten Umstieg erst einmal parallel zu marvin87s Modul 37_RCT für RCT-Power Systeme verwenden, oder gibt es Probleme wenn zwei Module gleichzeitig den Wechselrichter abfragen?

Gruß Slanesh
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 05 April 2022, 15:32:51
Es ist leider noch immer so, dass es dann Aussetzer geben wird, wenn es gleichzeitige Zugriffe gibt. Grundsätzlich geht das aber.

Du kannst das Modul hier aber völlig ohne Bedenken nutzen, ich selbst habe mein Modul längst weggeschmissen und durch dieses ersetzt.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 10 April 2022, 16:15:29
Zitat von: marvin78 am 16 März 2022, 20:05:11
Wenn ich mir hier noch was wünschen darf, dann würde ich folgendes vorschlagen:

Es wäre gut, wenn man die set-Befehle, wie die Readingnamen, selbst konfigurieren könnte. Ich denke, dass manche set Befehle nicht sehr gut gewählt sind und nicht zu den sinnvollen Reading-Namen passen, was dazu führt, dass die Vorgabe beim set im Frontend fehlt.

Kann ich gerne als Attribut device_setcmd_json (?) aufnehmen. Damit die Werte im Frontend richtig beim Set Command angezeigt werden, muss ja das Command gleich heißen wie das Reading.

Was hältst du davon, wenn ich die aktuellen Readings und Commands alle anpasse, so dass es auch für neue User gleich funktioniert? Da bräuchte ich nur die Info, welches Reading/Command wie heißen soll.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 April 2022, 10:42:44
Hi Dominik,

ich finde deinen Vorschlag gut und würde mal eine Liste zusammenstellen.

Ich würde auch zwei set commands ändern, da der Wechselrichter die Kommandos nicht übernimmt. Leider ist die API nur schlecht beschrieben....

Bis später 😊
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 14 April 2022, 12:24:14
sooo ich habe versucht alle commands und readings in einer Tabelle zusammen zu fassen und sprechendere Namen zu vergeben. Vielleicht kann Marvin auch nochmal drauf schauen.

Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 April 2022, 21:33:40
Danke für die Ausarbeitung!

Wenn noch 1-2 Personen die Liste bestätigen, dass das so passt, kann ich es implementieren.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 21 April 2022, 09:06:24

Hallo zusammen,

zunächst erstmal Lob und Danke für das tolle Modul; funzt mit meiner brandneuen RCT-PV-Anlage supi !

Bei einer Sache stehe ich allerdings auf dem Schlauch und sehe den Wald vor Bäumen nicht:
Welcher Paramter aus der Registry liefert den aktuellen Momentanwert für die erzeugte Solar-Leistung ?

Für einen Tipp wäre ich dankbar.

Viele Grüße
Onkel Tom
 
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 21 April 2022, 09:11:10
Das macht den Start vielleicht ein bisschen einfacher:


defmod my_rct_device fhempy rct_power 192.168.178.183
attr my_rct_device DbLogInclude .*
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 # Strom
attr my_rct_device room Steuerung
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")) }


In meiner DB habe ich dann noch historische Auswertungen, falls Interesse besteht...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 21 April 2022, 09:35:40
Ach und um Deine Frage konkret zu beantworten:


"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\
  },\


Eine Referenz aller Registry-Werte: https://rctclient.readthedocs.io/en/latest/inverter_registry.html

Auf der gleichen Seite gibt es im Menü auch einen Punkt, der die Werte auf die Android-App mapped...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 21 April 2022, 10:59:19
Zitat von: Nogga am 21 April 2022, 09:35:40
Ach und um Deine Frage konkret zu beantworten:


"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\
  },\


Eine Referenz aller Registry-Werte: https://rctclient.readthedocs.io/en/latest/inverter_registry.html

Auf der gleichen Seite gibt es im Menü auch einen Punkt, der die Werte auf die Android-App mapped...

Klasse !
Vielen Dank.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 21 April 2022, 22:16:06
Zitat von: Nogga am 21 April 2022, 09:11:10
Das macht den Start vielleicht ein bisschen einfacher:


defmod my_rct_device fhempy rct_power 192.168.178.183
attr my_rct_device DbLogInclude .*
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 # Strom
attr my_rct_device room Steuerung
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")) }


In meiner DB habe ich dann noch historische Auswertungen, falls Interesse besteht...

Hallo,

doch nochmal eine Nachfrage:

Die momentane Solar-Leistung habe ich dank Deiner Hilfestellung schnell nachvollziehen können - vielen Dank nochmal.

Beim Betrachten Deines FHEM-Codes dachte ich auch die kummulierte Tages-Gesamt-Solarleistung identifiziert zu haben.
Du verwendest hierfür energy_day bzw. energy.e_ac_day.
Bei mir steigt dieser Wert jedoch bei Dunkelheit weiter an. Scheinbar wird hier die Tages-Inverterleistung gezählt, d.h. auch der Strom, der aus der Batterie kommt und invertiert wird.

Daher meine Frage: Gibt es einen Parameter, der die reine Solarleistung kummuliert ?

VG
Onkel Tom
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 21 April 2022, 22:24:25
Hmm, das kann ich jetzt so nicht nachvollziehen.
Hab mal testweise mein Chart mit dem Wert ersetzt. Die rote Kurve ist energy_day.
Man erkennt, dass sie deutlich abflacht.

Müsste jetzt nochmal jeden einzelnen Wert überprüfen, ob Deine Vermutung nicht doch zutrifft, aber tendenziell nicht.
Ich habe einen Grundumsatz von ca. 250 W mit regelmäßigen Peaks auf 600 (wg. Wasserbett) - wenn das aus der Batterie käme wüsste ich das.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 21 April 2022, 22:25:32
Wobei - ich hab mir den Vortag angeschaut - sieht schon verdächtig aus...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 21 April 2022, 22:52:47
Auch vor Sonnenaufgang steigt der Wert energy_day an...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 22 April 2022, 09:36:30
Hmm, das ac im Registry Wert könnte tatsächlich auf deine Vermutung hindeuten...

"energy.e_ac_day":{\
    "reading":"energy_day",\
    "factor":1\
  },\

Eventuell steht in diesem Wert die Leistung die faktisch auf der AC-Seite vom Wechselrichter zur Verfügung gestellt wird unabhängig ob sie direkt von der PV kommt oder von der Batterie. Technisch ist beides ja DC und wird in AC umgewandelt - nur die Quelle ist unterschiedlich.

Aber aus der "Konsum-Sicht" sollte dies ja keine Rolle spielen? Es zählt ja was am Ende "verbraucht" werden kann (entweder durch Eigenverbrauch oder durch Einspeisung).
Das einzige was da mit reinspielt sind die Verluste von PV>Batterie>AC ggü. PV>AC.

Für mich reicht diese "Genauigkeit".

Wenn Du genauere Informationen brauchst, musst Du wohl tiefer in die Registry einsteigen...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: laserrichi am 22 April 2022, 16:58:01
mal ne dumme frage da ich auch den rtc im auge habe, warum geht ihr nicht mit modbus auf die rs-485 schnittstelle ?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 22 April 2022, 21:13:21
Naja, die Fragestellungen sind auch bei einer Modbus-Verbindung die gleichen... Die Variablen ändern sich dadurch ja nicht.
Im Gegenteil, bei Modbus darf man erstmal die kryptischen Register übersetzen...

Kurzum, das Modul ist komfortable und erfüllt seinen Zweck ;-)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 23 April 2022, 12:08:34
Zitat von: Nogga am 22 April 2022, 09:36:30

Wenn Du genauere Informationen brauchst, musst Du wohl tiefer in die Registry einsteigen...

Gesagt, getan:

Aus den registry energy.e_dc_day[0] und energy.e_dc_day[1] bekommt man die reine Tagesleistung der PV-Module A und B.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 23 April 2022, 22:11:54
Ahh super - wobei ich bei meinem Energy bleibe - schlussendlich ist das ja die "nutzbare" Energie. Spaßeshalber könnte man jetzt den Quotienten der zwei Werte berechnen - dann hätte man die Gesamt-Effizienz inklusive Batterie-Nutzung...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 25 April 2022, 17:52:30
Hallo zusammen,

ich habe nochmal die Command- und Readingliste angefasst. Anbei der neue Stand.

@Dominik: ich habe dazu nochmal einen Pull Request bei Git gestartet.

Viele Grüße,
 
   Chris
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: laserrichi am 17 Juli 2022, 07:55:05
Juhu, mein RCT ist jetzt auch am Start.
Da mir noch die Modbus Infos fehlen erstmal auch so wie hier eingebunden.
Was mich halt daran stört... man installiert wieder 1000 andere Dinge nur für ein Gerät, sprich fhempy usw.... zusätzliche Server die man bei Neuaufsetzen des Systems sowieso nicht mehr auf dem Schirm hat, daher ist mir ein einzelnes Modul lieber. Vielleicht mach ich das mit Modbus wenn ich die Infos dazu habe.

Bezüglich der Leistungen, was man DC erzeugt hat, und was man AC erzeugt hat.
Mir ist das beim Einrichten auch aufgefallen und daher habe ich mir das ganze per Userreading zusammengebaut:

Energy_AC_day_kWh {sprintf('%.2f', ReadingsNum("$name","energy.e_ac_day","")/1000)},
Energy_DC_day_kWh {sprintf('%.2f', ReadingsNum("$name","energy.e_dc_day[0]","")/1000 + ReadingsNum("$name","energy.e_dc_day[1]","")/1000)},
PanelPower_W {sprintf('%.0f', ReadingsNum("$name","dc_conv.dc_conv_struct[0].p_dc","") + ReadingsNum("$name","dc_conv.dc_conv_struct[1].p_dc",""))}


Die DC Leistungen gibt es wohl nicht als Gesamtsumme, und muss man sich eben addieren, wohl bei der Tagesleistung als auch die momentan Leistung.
Die AC Leistung steigt weiterhin wenn man von der Batterie bezieht. Theoretisch könnte man dadurch die gesamteffizienz ermitteln, vorausgesetzt man hat mit leerer Batterie gestartet und hat sie bis Mitternacht aufgebraucht.
Die Effizienz hatte ich auch mal versucht zu ermitteln:
AC_DC_Effizienz {sprintf('%.2f', ReadingsNum("$name","Energy_AC_day_kWh","") / ReadingsNum("$name","Energy_DC_day_kWh",""))}
Das klappt leider nicht beim Tageswechsel, denn dann hat man DC ja 0 und AC steigt... gibt unschönes im log

Error evaluating WechselrichterPV userReading AC_DC_Effizienz: Illegal division by zero

Der Wechselrichter meldet sich im Netz mit hf-a21  und da gibts auch einen login. Hat jemand hier den Benutzer und PW ? ist das eine weboberfläche vielleicht oder nur von dem hi-flying wlan Chip ?

EDIT:  der webbrowser login ist nur für wifi config und user = admin  passwort = seriennummer
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 17 Juli 2022, 12:20:24
Moin,

ich verstehe was du meinst und ja, man muss mit der Zeit und der Menge an Geräten relativ viel im FHEM installieren. Ich habe mir dazu schon seit langem eine Doku angelegt welches Modul ich wie und wozu installiert habe.

Das fhempy von Dominik ist für mich aber sowas wie das Schweizer Taschenmesser. Es bindet gleich eine Vielzahl von Geräten an und gibt der großen Python Gemeinde Zugang zu FHEM. Und installiert ist es auch sehr einfach und schnell. Dominik hat da was tolles hingezaubert.

Was per Modbus am RCT möglich sein wird weiß ich gar nicht. Ich vermute aber, dass man dort deutlich weniger abrufen oder einstellen kann. Und du brauchst zusätzlich eine Modbus Hardware (modbus to tcpip/lan), die du ebenso ans FHEM anbinden musst.

Das mit der Weboberfläche hast du ja schon richtig herausgefunden. Das scheint nur das wifi modul zu sein :)
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Slanesh am 13 August 2022, 14:16:08
Hallo Zusammen,

ich habe am 29.07.2022 eine E-Mail von RCT Power bekommen, dass eine neue Softwareversion für den Wechselrichter installiert werden soll. Hat das schon jemand gemacht? Gibt es danach irgendwelche Probleme mit der FHEM Integration? Ich bin da mittlerweile wirklich vorsichtig geworden, nachdem mir Logitech mal den Harmony Hub mit einem Update zugenagelt hat ;-)

Gruß Slanesh
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 13 August 2022, 16:48:42
Bei mir läuft alles soweit mit der neuen FW
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Zeitisen am 13 August 2022, 21:02:20
Ich habe auch keine negativen Auswirkungen feststellen können. Alles normal.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 14 August 2022, 06:30:09
Ist nur ein reguläres Firmwareupdate mit dem sie hauptsächlich die Kalibrierung der Batterie verbessern (oder endlich auf ein Niveau bringen, mit dem das System es einigermaßen sinnvoll macht). An den Grundfunktionen ändert sich nichts. Bugs hat die Firmware im Übrigen auch noch immer massig...
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 15 August 2022, 10:46:58
Hallo
seit dem letzen FHEM Update am 14.08.2022 läuft RCT Power nicht mehr. FHEMPY ist running, RCT Power sagt "Server offline" Neustart von FHEM und Pi bringt keine Änderung. Mit der Vorgängerversion 0.1.362 lief alles problemlos. Gibt es hier Lösungsansätze?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 15 August 2022, 11:23:40
Das ist ein fhempy problem. Hatte ich gestern auch. Du musst fhempy auf die 0.1.424 updaten.

Und wenn das alles nicht funktioniert kann man fhempy zurücksetzen:

sudo -u fhem pip3 uninstall fhempy

,fhem neu starten und dann tatsächlich 15 minuten warten. Bei mir lief es dann wieder.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: lr002585 am 15 August 2022, 11:52:21
Danke für die schnelle Antwort

aber ich steh ein wenig auf dem Schlauch....
einfach die Module ins FHEM Verzeichnis kopieren oder gibt es eine Routine?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 August 2022, 12:05:54
Du musst nix kopieren. Einfach uninstall wie Chris geschrieben hat und Neustart. Die fhempy Installation startet von selbst sobald ein BindingsIo Device definiert ist. Das also nicht löschen.

Du kannst mir auch noch gerne das fhempy Log posten, mich würde nämlich der Fehler interessieren.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: lr002585 am 15 August 2022, 12:15:55
die log files sind 300MB groß...nur von heute
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 15 August 2022, 12:19:10
Bitte mal einen Auszug schicken und welche Version du aktuell hast.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 15 August 2022, 12:24:58
In dem fhempy modul - bei mir heisst es local-pybinding - kannst du das update starten oder einen restart
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: lr002585 am 15 August 2022, 12:27:02
Vielen Dank, Deinstallation hat funktioniert, Version jetzt 0.1.424, nach ca. 10 sec kamen die Werte wieder rüber.

Auszug kommt gleich
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: lr002585 am 15 August 2022, 12:35:23
anbei Auszug aus Logdatei
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marc2 am 02 September 2022, 19:46:38
Hallo zusammen!

Nachdem ich meinen SMA Tripower in Rente geschickt und durch einen RCT Powerstorage 10 ersetzt habe, muss ich nun auch in Sachen Datenerfassung umsteigen. Früher hatte mir Solarview die Daten per MQTT ins FHEM geblasen. Für den RCT habe ich jetzt fhempy installiert. Ich muss einräumen, dass mein Setup etwas speziell ist. FHEM läuft nicht als root, aber der Runtimeuser hat für fhempy sein eigenes Pyhthon ENV. D.h die Installation lief problemlos, wenngleich das ganze nicht auf Debian, sondern CentOS 8 mit Python 3.8 unterwegs ist.

Wie gesagt, die Installation und Konfiguration war kein Thema. Ich habe aber zwei Probleme. Zum einen  jede Menge Timeouts:


2022-09-02 19:15:56,442 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBeginUpdate($defs{'RCT_10'});;
2022-09-02 19:16:57,468 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:17:57,469 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'inverter_sn','0065B4023096');;
2022-09-02 19:18:57,473 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:19:57,474 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'db.temp1','33.69');;
2022-09-02 19:20:57,475 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:21:57,477 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc','0.94');;
2022-09-02 19:22:57,479 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:23:57,483 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc_target','0.97');;
2022-09-02 19:24:57,486 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:25:57,488 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.cycles','10');;
2022-09-02 19:26:57,491 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:27:57,492 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soh','1.00');;
2022-09-02 19:28:57,495 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:29:57,497 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_max','0.97');;
2022-09-02 19:30:57,500 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:31:57,503 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_min','0.07');;
2022-09-02 19:32:57,507 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:33:57,510 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.temperature','26.65');;


Zum anderen scheinbar ebenfalls jede Menge abgeschnittene JSONs:

2022.09.02 19:27:01 1: BindingsIo (fhempy_local): received JSON was: SetAction);\n          function\n          helpSetAction(){\n            var cmd = $(\"select.set\").val()\n   
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR: Timeout while waiting for function to finish (id: 57978812)
2022.09.02 19:27:02 1:   NAME =>  RCT_10
2022.09.02 19:27:02 1:   args =>  ARRAY(0x5596d88c75f8)
2022.09.02 19:27:02 1:   defargsh =>  HASH(0x5596d7295df0)
2022.09.02 19:27:02 1:   argsh =>  HASH(0x5596d8709058)
2022.09.02 19:27:02 1:   defargs =>  ARRAY(0x5596d620d658)
2022.09.02 19:27:02 1:   FHEMPYTYPE =>  rct_power
2022.09.02 19:27:02 1:   id =>  57978812
2022.09.02 19:27:02 1:   msgtype =>  function
2022.09.02 19:27:02 1:   PYTHONTYPE =>  rct_power
2022.09.02 19:27:02 1:   function =>  Set
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 10 (before "}\\n          helpSe...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was:           }\n          helpSetAction�~{"argsh": {}, "args": ["RCT_10", "?"], "defargsh": {}, "NAME": "RCT_10
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 9 (before ": "function", "defar...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "msgtype": "function", "defargs"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: , or ] expected while parsing array, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: ["RCT_10", "fhempy", "rct_power"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 15 (before "], "finished": 1,") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "192.168.40.18"], "finished": 1,
2022.09.02 19:27:57 1: BindingsIo (fhempy_local): ERROR JSON: unexpected end of string while parsing JSON string, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:57 1: BindingsIo (fhempy_local): received JSON was: "readingsBulkUpdateIfChanged($de


FHEM und fhempy sind natürich auf dem aktuellsten Stand. Irgendweine Idee?

VG, Marc
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Slanesh am 02 September 2022, 20:10:12
Hallo zusammen,

hat jemand mit einem RCT Power Switch bereits eine Möglichkeit gefunden auszulesen, ob sich die RCT Anlage gerade im Inselmodus für Ersatzstrom befindet?

Gruß Slanesh
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: dominik am 02 September 2022, 20:24:07
Zitat von: marc2 am 02 September 2022, 19:46:38
Hallo zusammen!

Nachdem ich meinen SMA Tripower in Rente geschickt und durch einen RCT Powerstorage 10 ersetzt habe, muss ich nun auch in Sachen Datenerfassung umsteigen. Früher hatte mir Solarview die Daten per MQTT ins FHEM geblasen. Für den RCT habe ich jetzt fhempy installiert. Ich muss einräumen, dass mein Setup etwas speziell ist. FHEM läuft nicht als root, aber der Runtimeuser hat für fhempy sein eigenes Pyhthon ENV. D.h die Installation lief problemlos, wenngleich das ganze nicht auf Debian, sondern CentOS 8 mit Python 3.8 unterwegs ist.

Wie gesagt, die Installation und Konfiguration war kein Thema. Ich habe aber zwei Probleme. Zum einen  jede Menge Timeouts:


2022-09-02 19:15:56,442 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBeginUpdate($defs{'RCT_10'});;
2022-09-02 19:16:57,468 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:17:57,469 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'inverter_sn','0065B4023096');;
2022-09-02 19:18:57,473 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:19:57,474 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'db.temp1','33.69');;
2022-09-02 19:20:57,475 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:21:57,477 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc','0.94');;
2022-09-02 19:22:57,479 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:23:57,483 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soc_target','0.97');;
2022-09-02 19:24:57,486 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:25:57,488 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.cycles','10');;
2022-09-02 19:26:57,491 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:27:57,492 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.soh','1.00');;
2022-09-02 19:28:57,495 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:29:57,497 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_max','0.97');;
2022-09-02 19:30:57,500 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:31:57,503 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'power_mng.soc_min','0.07');;
2022-09-02 19:32:57,507 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'error','');;
2022-09-02 19:33:57,510 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'RCT_10'},'battery.temperature','26.65');;


Zum anderen scheinbar ebenfalls jede Menge abgeschnittene JSONs:

2022.09.02 19:27:01 1: BindingsIo (fhempy_local): received JSON was: SetAction);\n          function\n          helpSetAction(){\n            var cmd = $(\"select.set\").val()\n   
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR: Timeout while waiting for function to finish (id: 57978812)
2022.09.02 19:27:02 1:   NAME =>  RCT_10
2022.09.02 19:27:02 1:   args =>  ARRAY(0x5596d88c75f8)
2022.09.02 19:27:02 1:   defargsh =>  HASH(0x5596d7295df0)
2022.09.02 19:27:02 1:   argsh =>  HASH(0x5596d8709058)
2022.09.02 19:27:02 1:   defargs =>  ARRAY(0x5596d620d658)
2022.09.02 19:27:02 1:   FHEMPYTYPE =>  rct_power
2022.09.02 19:27:02 1:   id =>  57978812
2022.09.02 19:27:02 1:   msgtype =>  function
2022.09.02 19:27:02 1:   PYTHONTYPE =>  rct_power
2022.09.02 19:27:02 1:   function =>  Set
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 10 (before "}\\n          helpSe...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was:           }\n          helpSetAction�~{"argsh": {}, "args": ["RCT_10", "?"], "defargsh": {}, "NAME": "RCT_10
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 9 (before ": "function", "defar...") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "msgtype": "function", "defargs"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: , or ] expected while parsing array, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: ["RCT_10", "fhempy", "rct_power"
2022.09.02 19:27:02 1: BindingsIo (fhempy_local): ERROR JSON: garbage after JSON object, at character offset 15 (before "], "finished": 1,") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:02 1: BindingsIo (fhempy_local): received JSON was: "192.168.40.18"], "finished": 1,
2022.09.02 19:27:57 1: BindingsIo (fhempy_local): ERROR JSON: unexpected end of string while parsing JSON string, at character offset 32 (before "(end of string)") at /usr/local/share/perl5/JSON.pm line 190.

2022.09.02 19:27:57 1: BindingsIo (fhempy_local): received JSON was: "readingsBulkUpdateIfChanged($de


FHEM und fhempy sind natürich auf dem aktuellsten Stand. Irgendweine Idee?

VG, Marc
Was passiert wenn du nur einen fhempyServer restart machst? Also nicht FHEM neu starten, sondern nur fhempyServer.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 02 September 2022, 20:27:12
In welchem Intervall fragst du denn die Werte vom WR ab ?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 02 September 2022, 20:36:22
Zitat von: Slanesh am 02 September 2022, 20:10:12
Hallo zusammen,

hat jemand mit einem RCT Power Switch bereits eine Möglichkeit gefunden auszulesen, ob sich die RCT Anlage gerade im Inselmodus für Ersatzstrom befindet?

Gruß Slanesh

Du kannst mal versuchen die folgenden beiden Readings einzulesen:

prim_sm.island_flag
power_mng.is_grid

Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marc2 am 02 September 2022, 21:01:47
Zitat von: chris_kmn am 02 September 2022, 20:27:12
In welchem Intervall fragst du denn die Werte vom WR ab ?

Ich habe das Intervall nicht dediziert gesetzt, es seht also auf Default (10s ?). Es holen sich aber noch andere Programme (laufen auf anderen VMs) Daten vom RCT, Solaranzeige und testweise OpenWB und EVCC. Die haben soweit aber kein Problem.

FHEM stürzt nach einiger Zeit sogar komplett ab. Ich werde die anderen Programme mal deaktivieren und wieder testen.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 02 September 2022, 21:08:19
Ich habe in anderen Foren gelesen, dass RCT Probleme mit zu kleinen Intervallen hat (<5 Sek.). Früher konnte der WR auch nur eine einzige Applikation bedienen. Wenn bei dir mehrere Instanzen auf den WR zugreifen könnte das das Problem sein.

Machen OpenWB, EVCC und Solaranzeige nicht ähnliche Dinge ? Ich versuche das alles auf einer Plattform zu halten. Die PV Überschussladung (wie in OpenWB und EVCC) mache ich z.B. auch im FHEM.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: laserrichi am 02 September 2022, 22:09:36
da ich kein Freund bin von zusätzlichen Serverinstanzen Webzugriffe und Abfragen mit 100 Zeichen abfragen wenn man nur 4 braucht, habe ich mir für RCT ein Modbus Modul gebaut.

Das läuft jetzt schon eine weile bei mir tadellos. Einzig mangels "Fehler" konnte ich die Fehlerregister noch nicht checken :-) Hoffe das die auch nie auftreten.

Das mit Parallelzugriffen über die App und von Fhem ist mir auch aufgefallen das sich das in die Quere kommt, also es gilt "es kann nur einen geben zur gleichen Zeit".
Werde das fhempy dann wieder rausschmeißen und nur noch mit modbus arbeiten und das kommt sich mit der App auch nicht in die Quere.

Das Modul kann ich gerne hier reinstellen oder ich mache ein Extra Thema dazu auf da es ja mit dem hier nichts zu tun hat.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 02 September 2022, 22:11:54
Dann brauchst du aber noch ein Modbus-Interface, korrekt ? Und wahrscheinlich eines, dass seriell am WR verkabelt ist ? Oder läuft das via tcp?
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: laserrichi am 02 September 2022, 22:27:32
Ja, am WR ist ein RS485 Anschluss, den habe ich angeschlossen, sicher nicht für den Laien da es ja alles ohne Aufschrauben und freischalten nicht geht.  Das Modbus Thema habe ich über ESPEasy sowieso schon im Verteilerschrank durchgereicht und meinen Stromzähler bereits damit auslese, und die sind auf einer Leitung verbunden und unterscheiden sich durch die Modbus ID.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marc2 am 02 September 2022, 23:19:20
Zitat von: chris_kmn am 02 September 2022, 21:08:19
Ich habe in anderen Foren gelesen, dass RCT Probleme mit zu kleinen Intervallen hat (<5 Sek.). Früher konnte der WR auch nur eine einzige Applikation bedienen. Wenn bei dir mehrere Instanzen auf den WR zugreifen könnte das das Problem sein.

Machen OpenWB, EVCC und Solaranzeige nicht ähnliche Dinge ? Ich versuche das alles auf einer Plattform zu halten. Die PV Überschussladung (wie in OpenWB und EVCC) mache ich z.B. auch im FHEM.

Ja, die Posts kenne ich. Solaranzeige, OpenWB und EVCC hatten sich bisher aber nicht behakt. Die letzteren beiden laufen nur zu Testzwecken. Solaranzeige kann wie Solarview auch MQTT Nachrichten versenden. Das habe ich jetzt aktiviert und es läuft soweit gut und die Daten stehen FHEM jetzt zur Verfügung. Ggf. bleibe ich einfach bei der Lösung.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: marc2 am 02 September 2022, 23:23:46
Zitat von: laserrichi am 02 September 2022, 22:27:32
Ja, am WR ist ein RS485 Anschluss, den habe ich angeschlossen, sicher nicht für den Laien da es ja alles ohne Aufschrauben und freischalten nicht geht.  Das Modbus Thema habe ich über ESPEasy sowieso schon im Verteilerschrank durchgereicht und meinen Stromzähler bereits damit auslese, und die sind auf einer Leitung verbunden und unterscheiden sich durch die Modbus ID.

Ich war froh, als ich beim meinem SMA damals die alte RS485 Karte endlich durch eine Webconnect Karte mit Modbus TCP austauschen konnte. Ich fange bestimmt nicht wieder mit RS485 an  ;) Ich bin ein großer Freund der kabelgebundenen Kommunikation, aber seriell muss sie nun wirklich nicht mehr sein.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: chris_kmn am 03 September 2022, 16:08:01
Ich glaube auch, dass per Modbus nicht alle Parameter beim RCT gelesen/geschrieben können.
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: laserrichi am 12 November 2022, 18:16:07
das sind die Register die man auslesen kann:

AC_Current_L1
AC_Current_L2
AC_Current_L3
AC_Current_Sum
AC_Energy_Day
AC_Energy_Year
AC_Energy_total
AC_Power
AC_Power_Blindleistung
AC_Power_Scheinleistung
AC_Powerfactor
AC_Voltage_L1
AC_Voltage_L1_L2
AC_Voltage_L2
AC_Voltage_L2_L3
AC_Voltage_L3
AC_Voltage_L3_L1
Battery %
Battery_Capacity
Battery_Installed
Battery_Maxcharge_Power
Battery_Maxdischarge_Power
Battery_Power
Bitmask_1
Bitmask_2
Bitmask_3
Bitmask_4
Core_Temp
DC_Current_input_A
DC_Current_input_B
DC_Power
DC_Power_input_A
DC_Power_input_B
DC_Voltage_input_A
DC_Voltage_input_B
Grid_Power
Heat_Sink_Temp
Heat_Sink_Temp_Batteryconv
Insulation
Line_Frequenzy
Loaded_Energy
Model
Operating_State
Power_Reduction
Serial
Timestamp
Version
state

Hinter Bitmask verstecken sich Fehlerauswertungen, habe ich teilweise umgesetzt aber es gibt hier Kombinationsmöglichkeiten so das man wohl auch genau welche Zelle z.b. defekt ist rausfinden kann. Aber muss ich erst paar jahre warten bis sich da was tut und ich hoffe das es nie passiert :-)

Mehr gibt es nicht, und meine Anfrage auf erweiterungen wurde abgewimmelt
Titel: Antw:fhempy: rct_power (RCT-Power)
Beitrag von: Onkel.Tom am 21 Januar 2023, 19:43:03

Moin,

seit kurzem läuft mein fhempy für meine RCT-Anbindung leider nicht mehr (nachdem es zuvor lange problemlos lief).

Folgende Fehlermeldung finde ich im fhempy.log:

2023-01-21 19:28:44,128 - ERROR    - __main__: Failed to load fhempy
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/fhempy", line 139, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 18, in <module>
    from .core.zeroconf import zeroconf
ModuleNotFoundError: No module named 'fhempy.lib.core.zeroconf'
2023-01-21 19:28:44,132 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2023-01-21 19:29:00,744 - ERROR    - __main__: Unable to install package fhempy>=0.1.462: WARNING: The directory '/opt/fhem/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
WARNING: No metadata found in ./.local/lib/python3.9/site-packages
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
WARNING: Error parsing requirements for fhempy: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/opt/fhem/.local/lib/python3.9/site-packages/fhempy-0.1.501.dist-info/METADATA'
    WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
    WARNING: No metadata found in ./.local/lib/python3.9/site-packages
ERROR: Cannot uninstall fhempy 0.1.501, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps fhempy==0.1.501'.
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
WARNING: Ignoring invalid distribution -hempy (/opt/fhem/.local/lib/python3.9/site-packages)
2023-01-21 19:29:00,745 - ERROR    - __main__: Failed to install fhempy, exit now...


sudo -u fhem bash
pip3 install  --upgrade fhempy
führt zu folgendem: s. Anhang:


Bin für jede Hilfer dankbar !!

VG
Onkel Tom

Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Slanesh am 02 Mai 2023, 21:28:23
Hallo zusammen,

ich habe seit einiger Zeit etwa einmal pro Stunde folgende Fehler in meinem fhem.log:

2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,battery_temperature,24.72) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534528) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_real,328.69) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534534) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_battery,-1092.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534536) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_grid_total,1.45) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534538) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_solarA,857.02) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534540) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_solarB,675.43) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534542) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,power_household_external,328.41) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534544) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_day,2853.28) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534546) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_household,7514.82) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534550) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_grid_load,4664.00) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534552) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_solarA,1074.95) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534554) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_solarB,759.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534556) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_month,2853.28) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534558) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_household,7514.82) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534562) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_grid_load,4664.00) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534564) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_solarA,1074.95) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534566) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_solarB,759.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534568) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_year,1022351.19) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534570) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_household,3480453.25) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534574) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:57 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_solarA,644207.81) missed to call readingsBeginUpdate first.
2023.05.01 08:59:57 1: stacktrace:
2023.05.01 08:59:57 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:57 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534578) (1)
2023.05.01 08:59:57 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:57 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:57 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:57 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:57 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_solarB,528873.50) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:58 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534580) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total,1109761.38) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:58 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534582) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_household,4987201.00) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:58 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534586) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_solarA,707258.81) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:58 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534592) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_solarB,579877.38) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4818)
2023.05.01 08:59:58 1:     main::readingsBulkUpdateIfChanged   called by (eval 9534594) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_solarAB,1287130.25) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_solarAB,1828.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_solarAB,1828.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_solarAB,1173075.38) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_solarABC,1412054.25) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_solarABC,1903.33) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_solarABC,-662.67) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_solarABC,1172707.38) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_total_householdC,5112123.5) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_day_householdC,7588.54) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_month_householdC,5022.54) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)
2023.05.01 08:59:58 1: readingsUpdate(KE_FP_Wechselrichter,energy_year_householdC,3480084) missed to call readingsBeginUpdate first.
2023.05.01 08:59:58 1: stacktrace:
2023.05.01 08:59:58 1:     main::readingsBulkUpdate            called by fhem.pl (4786)
2023.05.01 08:59:58 1:     main::readingsEndUpdate             called by (eval 9534596) (1)
2023.05.01 08:59:58 1:     (eval)                              called by ./FHEM/10_BindingsIo.pm (561)
2023.05.01 08:59:58 1:     main::BindingsIo_processMessage     called by ./FHEM/10_BindingsIo.pm (676)
2023.05.01 08:59:58 1:     main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296)
2023.05.01 08:59:58 1:     main::BindingsIo_Read               called by fhem.pl (3809)
2023.05.01 08:59:58 1:     main::CallFn                        called by fhem.pl (755)

List vom Device:
Internals:
   DEF        rct_power 192.168.1.51
   FHEMPYTYPE rct_power
   FUUID      637229f0-f33f-799c-6e76-f1d1400ed2995720
   IODev      SV_FP_Local
   NAME       KE_FP_Wechselrichter
   NR         1406
   PYTHONTYPE rct_power
   STATE      connected
   TYPE       fhempy
   READINGS:
     2023-05-02 17:01:10   battery_efficiency 0.92
     2023-05-02 19:24:23   battery_soc     0.40
     2023-05-02 13:00:05   battery_soc_min 0.40
     2023-05-01 02:29:36   battery_soc_target 1.00
     2023-05-02 21:39:32   battery_temperature 27.20
     2023-05-02 21:29:25   battery_used_energy 482837.78
     2023-05-02 20:38:58   energy_day      19503.25
     2023-05-02 19:09:04   energy_day_grid_feed_in -4553.92
     2023-05-02 21:39:46   energy_day_grid_load 7842.19
     2023-05-02 21:39:46   energy_day_household 22791.13
     2023-05-02 21:39:50   energy_day_householdC 24501.13
     2023-05-02 20:54:32   energy_day_solarA 10263.58
     2023-05-02 21:39:50   energy_day_solarAB 21729.76
     2023-05-02 21:39:50   energy_day_solarABC 23439.76
     2023-05-02 20:55:29   energy_day_solarB 11466.18
     2023-05-02 20:38:58   energy_month    42951.20
     2023-05-02 19:09:04   energy_month_grid_feed_in -14162.58
     2023-05-02 21:39:46   energy_month_grid_load 19583.86
     2023-05-02 21:39:46   energy_month_household 48371.73
     2023-05-02 21:39:50   energy_month_householdC 47515.73
     2023-05-02 20:51:11   energy_month_solarA 22160.46
     2023-05-02 21:39:50   energy_month_solarAB 45213.78
     2023-05-02 21:39:50   energy_month_solarABC 44357.78
     2023-05-02 20:55:29   energy_month_solarB 23053.32
     2023-05-02 20:38:58   energy_total    1149859.25
     2023-05-02 19:09:04   energy_total_grid_feed_in -276827.06
     2023-05-02 21:39:46   energy_total_grid_load 4155075.25
     2023-05-02 21:39:46   energy_total_household 5028057.50
     2023-05-02 21:39:50   energy_total_householdC 5156436.5
     2023-05-02 20:46:07   energy_total_solarA 728344.06
     2023-05-02 21:39:50   energy_total_solarAB 1330515.25
     2023-05-02 21:39:50   energy_total_solarABC 1458894.25
     2023-05-02 20:52:51   energy_total_solarB 602171.19
     2023-05-02 20:38:58   energy_year     1062449.12
     2023-05-02 19:09:04   energy_year_grid_feed_in -273497.41
     2023-05-02 21:39:46   energy_year_grid_load 2732412.00
     2023-05-02 21:39:46   energy_year_household 3521310.25
     2023-05-02 21:39:50   energy_year_householdC 3522577.25
     2023-05-02 20:46:07   energy_year_solarA 665293.06
     2023-05-02 21:39:50   energy_year_solarAB 1216460.37
     2023-05-02 21:39:50   energy_year_solarABC 1217727.37
     2023-05-02 20:52:51   energy_year_solarB 551167.31
     2023-05-02 21:13:39   error           
     2023-05-02 21:39:46   power_battery   10.98
     2023-05-02 21:39:46   power_grid_total 475.76
     2023-05-02 21:39:46   power_household_external 486.96
     2022-11-17 11:13:45   power_mng.is_grid 0
     2022-11-15 00:10:56   power_mng_soc_min 70.00
     2023-05-02 20:38:58   power_real      0.00
     2023-05-02 20:56:11   power_solarA    0.00
     2023-05-02 20:56:25   power_solarB    0.00
     2022-11-20 11:22:30   prim_sm.island_flag 2
     2023-05-02 21:39:50   statEnergy_total Hour: 0.00 Day: 19503.25 Month: 42947.37 Year: 1062449.11
     2023-05-02 20:59:55   statEnergy_totalLast Hour: 38.13 Day: 23444.12 Month: 500009.88 Year: 77317.67 (since: 2022-11-16 )
     2023-05-02 21:39:50   statEnergy_total_grid_feed_inDay Min: -276827.06 Avg: -273640.93 Max: -272273.16
     2023-05-01 23:59:55   statEnergy_total_grid_feed_inDayLast Min: -272273.16 Avg: -266326.77 Max: -262664.50
     2023-05-02 21:39:50   statEnergy_total_grid_feed_inHour Min: -276827.06 Avg: -276827.06 Max: -276827.06
     2023-05-02 20:59:55   statEnergy_total_grid_feed_inHourLast Min: -276827.06 Avg: -276827.06 Max: -276827.06
     2023-05-02 21:39:50   statEnergy_total_grid_feed_inMonth Min: -276827.06 Avg: -269796.85 Max: -262664.50
     2023-05-02 21:39:50   statEnergy_total_grid_feed_inMonthAvg -269796.85
     2023-04-30 23:59:55   statEnergy_total_grid_feed_inMonthAvgLast -162131.54
     2023-04-30 23:59:55   statEnergy_total_grid_feed_inMonthLast Min: -262664.50 Avg: -162131.54 Max: -84500.07
     2023-05-02 21:39:50   statEnergy_total_grid_feed_inYear Min: -276827.06 Avg: -57640.37 Max: -3329.66
     2022-12-31 23:59:55   statEnergy_total_grid_feed_inYearLast Min: -3329.66 Avg: -1833.77 Max: -48.21 (since: 2022-11-15_12:18:21 )
     2023-05-02 21:39:50   statEnergy_total_household Hour: 340.50 Day: 22787.50 Month: 48368.00 Year: 3521311.50
     2023-05-02 21:39:50   statEnergy_total_householdC Hour: 340.50 Day: 24497.50 Month: 51898.00 Year: 3634608.50
     2023-05-02 21:39:50   statEnergy_total_householdCHour 340.50
     2023-05-02 20:59:55   statEnergy_total_householdCHourLast 572.50
     2023-05-02 20:59:55   statEnergy_total_householdCLast Hour: 572.50 Day: 27400.50 Month: 788044.00 Year: 1475801.20 (since: 2022-11-16 )
     2023-05-02 20:59:55   statEnergy_total_householdLast Hour: 570.50 Day: 25580.50 Month: 742777.00 Year: 1461003.20 (since: 2022-11-16 )
     2023-05-02 21:39:50   statEnergy_total_solarAB Hour: 0.00 Day: 21729.75 Month: 45213.75 Year: 1216460.38
     2023-05-02 21:39:50   statEnergy_total_solarABC Hour: 0.00 Day: 23439.75 Month: 48743.75 Year: 1329757.38
     2023-05-02 21:39:50   statEnergy_total_solarABCHour 0.00
     2023-05-02 20:59:55   statEnergy_total_solarABCHourLast 55.81
     2023-05-02 20:59:55   statEnergy_total_solarABCLast Hour: 55.81 Day: 25304.00 Month: 602979.07 Year: 121344.81 (since: 2022-11-16 )
     2023-05-02 20:59:55   statEnergy_total_solarABLast Hour: 53.81 Day: 23484.00 Month: 557712.07 Year: 106546.81 (since: 2022-11-16 )
     2023-05-02 15:17:57   state           connected
   args:
     KE_FP_Wechselrichter
     fhempy
     rct_power
     192.168.1.51
   argsh:
   helper:
     _98_statistics SA_SV_Statistiken
Attributes:
   IODev      SV_FP_Local
   alias      Wechselrichter
   default_device_readings off
   device_readings_json {
      "prim_sm.island_flag":{
      "reading":"prim_sm.island_flag",
      "factor":1
      },
      "power_mng.is_grid":{
      "reading":"power_mng.is_grid",
      "factor":1
      },
      "battery.soc":{
      "reading":"battery_soc",
      "factor":1
      },
      "battery.soc_target":{
      "reading":"battery_soc_target",
      "factor":1
      },
      "power_mng.soc_min":{
      "reading":"power_mng_soc_min",
      "factor":1
      },
      "battery.temperature":{
      "reading":"battery_temperature",
      "factor":1
      },
      "battery.efficiency":{
      "reading":"battery_efficiency",
      "factor":1
      },
      "battery.used_energy":{
      "reading":"battery_used_energy",
      "factor":1
      },
      "g_sync.p_ac_sum":{
      "reading":"power_real",
      "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
      },
      "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
      },
      "g_sync.p_ac_load_sum_lp":{
      "reading":"power_household_external",
      "factor":1
      },
      "energy.e_ac_day":{
      "reading":"energy_day",
      "factor":1
      },
      "energy.e_grid_feed_day":{
      "reading":"energy_day_grid_feed_in",
      "factor":1
      },
      "energy.e_load_day":{
      "reading":"energy_day_household",
      "factor":1
      },
      "energy.e_grid_load_day":{
      "reading":"energy_day_grid_load",
      "factor":1
      },
      "energy.e_dc_day[0]":{
      "reading":"energy_day_solarA",
      "factor":1
      },
      "energy.e_dc_day[1]":{
      "reading":"energy_day_solarB",
      "factor":1
      },
      "energy.e_ac_month":{
      "reading":"energy_month",
      "factor":1
      },
      "energy.e_grid_feed_month":{
      "reading":"energy_month_grid_feed_in",
      "factor":1
      },
      "energy.e_load_month":{
      "reading":"energy_month_household",
      "factor":1
      },
      "energy.e_grid_load_month":{
      "reading":"energy_month_grid_load",
      "factor": 1
      },
      "energy.e_dc_month[0]":{
      "reading":"energy_month_solarA",
      "factor":1
      },
      "energy.e_dc_month[1]":{
      "reading":"energy_month_solarB",
      "factor":1
      },
      "energy.e_ac_year":{
      "reading":"energy_year",
      "factor":1
      },
      "energy.e_grid_feed_year":{
      "reading":"energy_year_grid_feed_in",
      "factor":1
      },
      "energy.e_load_year":{
      "reading":"energy_year_household",
      "factor":1
      },
      "energy.e_grid_load_year":{
      "reading":"energy_year_grid_load",
      "factor":1
      },
      "energy.e_dc_year[0]":{
      "reading":"energy_year_solarA",
      "factor":1
      },
      "energy.e_dc_year[1]":{
      "reading":"energy_year_solarB",
      "factor":1
      },
      "energy.e_ac_total":{
      "reading":"energy_total",
      "factor":1
      },
      "energy.e_grid_feed_total":{
      "reading":"energy_total_grid_feed_in",
      "factor":1
      },
      "energy.e_load_total":{
      "reading":"energy_total_household",
      "factor":1
      },
      "energy.e_grid_load_total":{
      "reading":"energy_total_grid_load",
      "factor":1
      },
      "energy.e_dc_total[0]":{
      "reading":"energy_total_solarA",
      "factor":1
      },
      "energy.e_dc_total[1]":{
      "reading":"energy_total_solarB",
      "factor":1
      },
      "power_mng.soc_min":{
      "reading":"battery_soc_min",
      "factor":1
      }
}
   group      rct_power
   room       Keller
   update_readings on_change
   userReadings energy_total_solarAB {ReadingsVal("KE_FP_Wechselrichter","energy_total_solarA",0)+ReadingsVal("KE_FP_Wechselrichter","energy_total_solarB",0)}, energy_day_solarAB {ReadingsVal("KE_FP_Wechselrichter","energy_day_solarA",0)+ReadingsVal("KE_FP_Wechselrichter","energy_day_solarB",0)}, energy_month_solarAB {ReadingsVal("KE_FP_Wechselrichter","energy_month_solarA",0)+ReadingsVal("KE_FP_Wechselrichter","energy_month_solarB",0)}, energy_year_solarAB {ReadingsVal("KE_FP_Wechselrichter","energy_year_solarA",0)+ReadingsVal("KE_FP_Wechselrichter","energy_year_solarB",0)}, energy_total_solarABC {ReadingsVal("KE_FP_Wechselrichter","energy_total_solarAB",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","ENERGY_Total",0)*1000)}, energy_day_solarABC {ReadingsVal("KE_FP_Wechselrichter","energy_day_solarAB",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","ENERGY_Today",0)*1000)}, energy_month_solarABC {ReadingsVal("KE_FP_Wechselrichter","energy_month_solarAB",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","statENERGY_TodayMonth",0)*1000)}, energy_year_solarABC {ReadingsVal("KE_FP_Wechselrichter","energy_year_solarAB",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","statENERGY_TodayYear",0)*1000)}, energy_total_householdC {ReadingsVal("KE_FP_Wechselrichter","energy_total_household",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","ENERGY_Total",0)*1000)}, energy_day_householdC {ReadingsVal("KE_FP_Wechselrichter","energy_day_household",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","ENERGY_Today",0)*1000)}, energy_month_householdC {ReadingsVal("KE_FP_Wechselrichter","energy_month_household",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","statENERGY_TodayMonth",0)*1000)}, energy_year_householdC {ReadingsVal("KE_FP_Wechselrichter","energy_year_household",0)+(ReadingsVal("MQ_DT_Balkonkraftwerk","statENERGY_TodayYear",0)*1000)}

Hat jemand einen Tipp woran das liegen könnte?

Viele Grüße
Slanesh
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Slanesh am 09 Mai 2023, 22:23:40
Noch eine Ergänzung: Die stündlichen Fehler im Log treten nur auf, wenn gerade kein Strom erzeugt wird (ca. 20:00 bis 7:00 Uhr).
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 10 Mai 2023, 21:02:40
Zitat von: Nogga am 21 April 2022, 22:24:25Hab mal testweise mein Chart mit dem Wert ersetzt. Die rote Kurve ist energy_day.

Hallo Nogga!

Könntest du evtl. bitte deine SVG-Plot Datei hier reinstellen?
Das sieht echt gut aus.
Wäre eine gute Vorlage sodass sich nicht jeder einen SVG von Grund auf zusammenbauen muß.

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 23 Mai 2023, 16:26:50
Vielleicht stelle ich mich auch nur zu dumm an, meine Installation mit DC6 und Batterie läuft dank fhemfy super.
Nur bietet er mir beim Set keine Option das SOC Target der Batterie zu setzen.
Finde das gerade im Urlaub super, da hält die 3 Tage und ich würde gern erst am 3ten Tag wieder voll machen.
Aber beim Set gibt es den Befehl leider nicht.

Danke
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 24 Mai 2023, 15:45:15
Es gibt die commands batt_soc_max und batt_soc_min.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 24 Mai 2023, 16:06:31
Hi,
Danke für das Feedback, in meinem Verständnis setzt man damit doch nur die zulässige Untergrenze (0,07) und Obergrenze (0,97).
In der App kann man aber noch ein Target setzen...

battery.soc_target

Heißt setze ich das auf 0,97 versucht er die Batterie zu laden
Setze ich es auf 0,07 lädt er nicht, sondern entnimmt solange bis er auf 0.07 entladen hat.

Das wäre gut... so würde ich an Urlaubstagen im Sommer nur alle 3 Tage vollladen (Target 0,97) und an den anderen beiden Tagen entladen (Target 0,07).
Das reicht im Somme meist aus, und reduziert die Zyklen, bzw gefällt der Batterie besser als nur auf 0,7 entladen und wieder laden...

Danke
Thomas
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 25 Mai 2023, 07:00:58
Aber wenn du die Obergrenze auf 0.07 setzt, müsste das doch deinem Wunsch entsprechen. Die Bezeichnung im Modul ist schlecht gewählt. Es müsste soc_max_target heißen.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 25 Mai 2023, 09:16:47
ok, Danke... ich probiere das mal!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 25 Mai 2023, 11:15:44
habe es probiert...

Kann den Wert setzen (0,07), aber das Target bleibt unverändert... (0,07) man kann dann aber (in der App) kein neues Target größer als 0.07 setzen.
Es wäre damit echt schön, den Wert "battery.soc_target" setzen zu können...

Danke
Thomas
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: gehrt am 28 Mai 2023, 11:03:06
Hallo zusammen,

ich habe einen RCT Power 10.0 mit einer angeschlossenen Batterie. Zusätzlich gibt es noch einen SMA Sunny Tripower 10.0, der über einen Energiezähler am RCT angeschlossen ist. Ich habe beide Wechselrichter in FHEM angelegt und alles passt soweit.
Dummerweise steht der Hausverbrauch sowie die Wattzahl, die der SMA erzeugt hat, scheinbar zusammen in power_household_external (negativer Wert). In der RCT Power App wird im Energiefluss-Diagramm hingegen die solare Erzeugung (RCT+SMA), sowie der Hausverbrauch korrekt angezeigt. In energy_day_household wird dementsprechend auch falsch aufsummiert.

Kennt dieses Phänomen jemand?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 28 Mai 2023, 12:00:49
Ja. Du musst selbst rechnen und die Werte addieren bzw. subtrahieren. Mach das einfach in einem userreading.

Hinweis: Auch die Energiezähler sind so aufgestellt, dass man selbst Hand anlegen muss. Die App macht im übrigen nichts anderes.

Zusatz: es gibt offenbar einen Bug, der dafür sorgt, dass die externe Energie bei total und year nicht gezählt wird (auch in der App). Bitte an alle: an RCT melden.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: gehrt am 28 Mai 2023, 13:12:16
Das Problem bei mir ist, dass irgendwie gar nichts stimmt. In der RCT Power App steht beim Häuschen zur Zeit irgendwas zwischen ca 70 W und -20W. Wir haben sicherlich keinen Hausverbrauch von 70W - völlig unrealistisch.
Ok, selbst rechnen. Dann muss ich also beim RCT vom energy_day_household-Wert den Gesamterzeugungswert vom SMA abziehen?
Beim SMA-Inverter in FHEM stimmen die ausgelesen Werte auch nicht mit der SMA-Appp und dem SMA-Portal überein.

In Userreadings rechnen, oh oh.

Irgendwie hat man ohne extternes Gefrickel keine Möglichkeit mehr, aus dem Wechselrichter vernünftige Werte herauszubekommen.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 28 Mai 2023, 13:22:52
Hast du externe Leitungen zugelassen bei RCT?
Zeig doch mal den Screenshot der App
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: gehrt am 28 Mai 2023, 13:43:51
Hier ein paar aktuelle Screenshots

FHEM.png
Screenshot_20230528_133224_com.android.chrome.jpgScreenshot_20230528_133219_com.android.chrome.jpgScreenshot_20230528_133209_org.rctpower.heiphossil.jpg

Ich frage mich halt auch, was wo die Verlustleistung steckt. Wenn man z.B. sieht, dass der RCT 36,58kWh erzeugt hat, aber insgesamt 60,07kWh eingespeist wurden, kommen vom SMA 60,07-36,58=23,49kWh. Der SMA hat aber laut FHEM 29,50kWh erzeugt. Das würde bedeuten, dass 29,50-23,49=6,01kWh verbraucht wurden im Haus. Wenn jetzt 2,78kWh wirklich verbraucht wurden, so verbleibt eine Differenz von 6,01-2,78=3,23kWh. Das kann doch nur die Verlustleistung durch Wandlung sein, oder? Wäre das nicht sehr viel?

Ich würde auch gerne wissen, ob die Werte aus der RCT Power App überhaupt stimmen können. Positive Werte unter dem Häuschen machen irgendwie wenig Sinn.
Der Solateur hat den SMA am RCT über einen externen Energiezähler zuerst nach Anleitung angeschlossen 5V+Pin2 an S0+ und GND an S0-. Das war aber scheinbar falsch, da der RCT den Strom vom SMA als Verbrauch gewertet hat. Auf dem Display des RCT tauchte der Wert als "Pext source" auf und unter dem "G" in der RCT Power App stand immer 0.
Ich habe ein Schreiben von RCT gefunden, nachdem man den Energiezähler nur über 5V->S0+ und Pin2->S0- anschließen soll, Damit taucht der Wert vom SMA in der RCT Power App unter dem G auf und es scheint zu stimmen.
Nur die Werte unter dem Haus stimmen nicht, da diese zwischen -50 und +100 wechseln, was überhaupt keinen Sinn ergibt. Irgendwas läuft hier gehörig schief. Nur was?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 28 Mai 2023, 13:47:20
Es handelt sich nicht um Gefrickelt. Meiner Ansicht nach, ist das eine ganz einfache und normale Vorgehensweise.

Addieren ist das Stichwort. Da der Wert, der geliefert wird, jeweils der Wert vom RCT minus externe Leistung darstellt, hilft an der Stelle nur addieren. Hängt natürlich davon ab, wie man mit den Faktoren arbeitet.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 28 Mai 2023, 14:53:24
Man muss bei RCT auch einiges beachten... Der Ertrag beinhaltet auch Werte vom Batterie Laden und Entladen. Je nach dem wie man das darstellen will, muss man beobachten und rechnen.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 28 Mai 2023, 14:54:17
Zitat von: Docter am 25 Mai 2023, 11:15:44habe es probiert...

Kann den Wert setzen (0,07), aber das Target bleibt unverändert... (0,07) man kann dann aber (in der App) kein neues Target größer als 0.07 setzen.
Es wäre damit echt schön, den Wert "battery.soc_target" setzen zu können...

Danke
Thomas

Wäre es bitte möglich, den Befehl aufzunehmen, um das SOC Target zu setzen?

Danke
Thomas
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: gehrt am 28 Mai 2023, 15:15:20
Zitat von: Docter am 28 Mai 2023, 14:53:24Man muss bei RCT auch einiges beachten... Der Ertrag beinhaltet auch Werte vom Batterie Laden und Entladen. Je nach dem wie man das darstellen will, muss man beobachten und rechnen.

Habs anhand der technischen Dokumente zuordnen können. Ich habe die Werte überprüft anhand eines Exports aus der RCT Power App. Trotzdem irgendwie komisch. Da kommen Momentaneigenverbräuche raus, die deutlich niedriger sind als das, was ich das letzte Jahr direkt vom Stromzähler geloggt habe. Solch niedrigen Werte  für den Eigenverbrauch hatte ich nie. Sehr fragwürdig.

Gibt es eigentlich eine Möglichkeit an die Werte zu kommen, wie man sie aus der RCT Power APP exportieren kann? Im RCT Portal bekommt man ja fast gar nichts. und rct_power liefert auch nicht alles. Brauchen oder nicht ist erstmal nicht die Frage.
Wie kann man eigentlich in FHEM die monatlichen Werte loggen?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 28 Mai 2023, 21:00:24
Loggen sind Grundlagen. Hier nicht zu diskutieren.

Du kannst alle Werte aus der Registry bekommen. Meines Wissens kann das Modul hier alles liefern, was die App liefert.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: gehrt am 29 Mai 2023, 10:46:38
Scheinbar das falsche Forum für meine Anfrage. Leider gibt es kein RCT-Forum.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 29 Mai 2023, 10:54:58
Nun, ein wenig forschen musst du schon selbst.
Mich hat es auch ein paar Tage gekostet die Gedanken von RCT zu verstehen. Besonders mit Batterie tricky.
Und auch der PowerSensor macht Fehler, Prinzip bedingt schon 30W und mehr, und wenn in die Leitung gestört wird, kommt ganz großer Mist raus. Da hilft nur, forschen.

Aber nach loggen hier zu fragen ist halt fehl am Platz.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 29 Mai 2023, 11:40:33
du weißt das im PV Ertrag Batterie Anteile drin sind? RCT stellt das anders dar.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag 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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 31 Mai 2023, 06:51:26
Wie soll man dir helfen? Keiner kennt die Werte, die nicht passen.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 31 Mai 2023, 07:20:38
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 09 Juni 2023, 22:07:19
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 10 Juni 2023, 06:43:37
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 10 Juni 2023, 09:52:37
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
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag 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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 11 Juni 2023, 07:01:43
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 11 Juni 2023, 09:40:38
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 11 Juni 2023, 20:13:16
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 11 Juni 2023, 20:22:34
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 21 Juni 2023, 11:51:34
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
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 08 Juli 2023, 08:56:07
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



Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 10 Juli 2023, 17:07:11
Hat keiner eine Idee? #205
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 10 Juli 2023, 21:58:19
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Nogga am 10 Juli 2023, 23:37:01
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.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 11 Juli 2023, 07:07:38
@Stephan
@Nogga

Herzlichen Dank für Eure Antworten, versuche ich.

LG Ingo
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 11 Juli 2023, 12:14:52
Hi Stephan,
Habs mit Deiner Konfiguration probiert, die ja wirklich mächtig ist. Die Readings werden auch aktualisiert, STATE aber zeigt überall Nullwerte.
Ist das StateFormat denn wirklich so richtig oder hat sich da beim Kopieren etwas eingeschlichen?
{\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)<br>\
Gesamtertrag heute: ".sprintf("%.2f", (ReadingsVal($name, "energy_day", "0")/1000))." kWh<br>\
Batterie-Kapazität: ".int(ReadingsVal($name, "battery_soc", "0"))." %<br>\
Batterie-".((ReadingsVal($name, "power_battery", 1) < 0) ? "Ladung" : "ENTladung").": ".int(abs(ReadingsVal($name, "power_battery", "-")))." W<br>\
Netz-".((ReadingsVal($name, "power_grid_total", 1) < 0) ? "Einspeisung" : "Bezug").": ".int(abs(ReadingsVal($name, "power_grid_total", "-")))." W<br>\
Hausverbrauch: ".int(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"
}

Lasse ich übrigens den Backslash hinter dem letzten " "kWh drin, gibt es eine Fehlermeldung:
Error evaluating RCT stateFormat: syntax error at (eval 17635) line 11, near "" kWh"\"
Und im Log steht mit verschiedenen Adressen
BindingsIo (fhempy_local): Argument "-" isn't numeric in abs at (eval 39420) line 2.

Muss ich mir Sorgen machen? ;-)
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 11 Juli 2023, 21:21:53
Läuft dein fhempy richtig?
Zeigt er "grün" an?

Wie hast du meine DEF ins FHEM reinbekommen?
Ich mache das immer per telnet.
Und ich habs grad nochmal probiert: So wie es auf meiner Webseite ist, kann ich es per Copy+Paste in die telnet Sitzung reinkopieren (inkl. Backslash).

@Nogga: Könntest du evtl. bitte deine SVG-Plot Datei hier reinstellen?
(Vom Post #132, sieht noch besser aus, als mein SVG)

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 11 Juli 2023, 21:44:50
Zitat von: marvin78 am 10 Juni 2023, 06:43:37battery.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.

Das hab ich inzwischen getestet.
battery_status ist immer 0.
Und die Zahlen des battery_status_extra bringen es nicht wirklich:
2023-06-12_21:50:49 RCT battery_status_extra: 0
2023-07-07_13:00:35 RCT battery_status_extra: 8
2023-07-07_13:44:31 RCT battery_status_extra: 264
2023-07-07_13:44:56 RCT battery_status_extra: 8
2023-07-07_13:46:36 RCT battery_status_extra: 264
2023-07-07_14:11:28 RCT battery_status_extra: 256
2023-07-07_14:11:40 RCT battery_status_extra: 1280
2023-07-07_19:58:02 RCT battery_status_extra: 1024
2023-07-07_19:59:28 RCT battery_status_extra: 1280
2023-07-07_20:24:19 RCT battery_status_extra: 1024
2023-07-08_09:36:25 RCT battery_status_extra: 512
2023-07-08_09:37:02 RCT battery_status_extra: 0
Die Ladung startete um 13:00 und die Entladung startete um 14:11.
Aber das stellt mein DOIF mit battery.soc_target besser fest, als diese Zahlen :-)

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 11 Juli 2023, 21:46:07
Hi Stephan,
vielen Dank für Deine Antwort!

Tja, ich hab einfach copy and paste gemacht, direkt ins RAW...keine telnet-Sitzung. Geht das nicht? Lief sonst eigentlich immer.
Angehängt ein Pic vom Fhempy ua, wenn ich es hineinbekomme.

LG Ingo

fhempy.jpg
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 12 Juli 2023, 20:54:30
Dann zeig doch mal bitte einen list vom Device bzw. versuche es per telnet.
LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 13 Juli 2023, 11:46:06
Hi Stephan,

hier ist das Listing (UserReading hab ich mit einfachen Benennungen für den WAF ersetzt)

define RCT fhempy rct_power 192.168.178.127
attr RCT alias RCT Wechselrichter
attr RCT comment RCT Power Wechselrichter
attr RCT 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\\
  },\\
  "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\\
  },\\
  "battery.status":{\\
    "reading":"battery_status",\\
    "factor":1\\
  },\\
  "battery.status2":{\\
    "reading":"battery_status_extra",\\
    "factor":1\\
  }\\
}
attr RCT group rct_power
attr RCT room Photovoltaik,Geräte,fhempy
attr RCT stateFormat {\\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \\
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)<br>\\
Gesamtertrag heute: ".sprintf("%.2f", (ReadingsVal($name, "energy_day", "0")/1000))." kWh<br>\\
Batterie-Kapazität: ".int(ReadingsVal($name, "battery_soc", "0"))." %<br>\\
Batterie-".((ReadingsVal($name, "power_battery", 1) < 0) ? "Ladung" : "ENTladung").": ".int(abs(ReadingsVal($name, "power_battery", "-")))." W<br>\\
Netz-".((ReadingsVal($name, "power_grid_total", 1) < 0) ? "Einspeisung" : "Bezug").": ".int(abs(ReadingsVal($name, "power_grid_total", "-")))." W<br>\\
Hausverbrauch: ".int(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 RCT userReadings BatterieLadezustand { ReadingsVal("RCT","battery.soc",0) },BatterieTemperatur { ReadingsVal("RCT","battery.temperature",0) },WechselrichterTemperatur { ReadingsVal("RCT","db.temp1",0) },Batterie_Ent_Ladung { ReadingsVal("RCT","g_sync.p_acc_lp",0) },EinspeisungInsHaus { ReadingsVal("RCT","g_sync.p_ac_sum_lp",0) },InsNetzAktuell { ReadingsVal("RCT","g_sync.p_ac_grid_sum_lp",0) },InsNetzTag { ReadingsVal("RCT","energy.e_grid_feed_day",0) },Tagesverbrauch { ReadingsVal("RCT","energy.e_load_day",0) },TagesverbrauchInklLadung { ReadingsVal("RCT","energy.e_ac_day",0) },Netzbezug { ReadingsVal("RCT","energy.e_grid_load_day",0) }\
\
\
\

attr RCT verbose 1
#  DEF        rct_power 192.168.178.127
#  FHEMPYTYPE rct_power
#  FUUID      64ad9a3d-f33f-8a5f-3ae5-c44f46a3b81af060
#  IODev      fhempy_local
#  NAME      RCT
#  NR        527
#  PYTHONTYPE rct_power
#  STATE      SCALAR(0x89a5948)0 W
#(NO: 0 W /
#SW: 0 W)<br>
#Gesamtertrag heute: 0.00 kWh<br>
#Batterie-Kapazität: 0 %<br>
#Batterie-ENTladung: 0 W<br>
#Netz-Bezug: 0 W<br>
#Hausverbrauch: 0 W<br>
#Heutiger Hausverbrauch: 0.00 kWh
#davon aus dem Netz: 0.00 kWh
#  TYPE      fhempy
#  eventCount 791
#  READINGS:
#    2023-07-13 09:26:40  BatterieEntladung -3545.36
#    2023-07-13 11:41:18  BatterieLadezustand 1.00
#    2023-07-13 11:41:18  BatterieTemperatur 30.54
#    2023-07-13 11:41:18  Batterie_Ent_Ladung 1635.69
#    2023-07-13 11:41:18  EinspeisungInsHaus 3430.46
#    2023-07-13 09:09:23  ErzeugungAktuell 2773.67
#    2023-07-13 11:41:18  InsNetzAktuell  -0.00
#    2023-07-13 11:41:18  InsNetzTag      -2806.98
#    2023-07-13 11:41:18  Netzbezug      32.58
#    2023-07-12 17:19:59  NetzeinspeisungAktuell 0
#    2023-07-12 17:19:59  NetzeinspeisungTag 0
#    2023-07-13 11:41:18  Tagesverbrauch  9518.22
#    2023-07-13 11:41:18  TagesverbrauchInklLadung 12277.37
#    2023-07-12 17:19:59  TagesverbrauchMitAkku 0
#    2023-07-13 11:41:18  WechselrichterTemperatur 38.19
#    2023-07-12 21:30:24  battery.cycles  13
#    2023-07-13 10:53:28  battery.efficiency 0.90
#    2023-07-13 11:26:31  battery.soc    1.00
#    2023-07-13 10:57:58  battery.soc_target 1.00
#    2023-07-11 20:07:38  battery.soh    1.00
#    2023-07-13 11:41:18  battery.temperature 30.54
#    2023-07-13 11:41:18  db.temp1        38.19
#    2023-07-13 11:41:18  energy.e_ac_day 12277.37
#    2023-07-13 11:41:18  energy.e_grid_feed_day -2806.98
#    2023-07-13 11:41:07  energy.e_grid_load_day 32.58
#    2023-07-13 11:41:18  energy.e_load_day 9518.22
#    2023-07-13 11:39:58  error         
#    2023-07-13 11:41:18  g_sync.p_ac_grid_sum_lp -0.00
#    2023-07-13 11:41:18  g_sync.p_ac_sum_lp 3430.46
#    2023-07-13 11:41:18  g_sync.p_acc_lp 1635.69
#    2023-07-11 20:07:38  inverter_sn    0065B4821490
#    2023-07-11 20:07:38  power_mng.soc_max 0.97
#    2023-07-11 20:07:38  power_mng.soc_min 0.07
#    2023-07-13 09:12:31  state          connected
#  args:
#    RCT
#    fhempy
#    rct_power
#    192.168.178.127
#  argsh:
#  hmccu:
#
setstate RCT SCALAR(0x89a5948)0 W\
(NO: 0 W / \
SW: 0 W)<br>\
Gesamtertrag heute: 0.00 kWh<br>\
Batterie-Kapazität: 0 %<br>\
Batterie-ENTladung: 0 W<br>\
Netz-Bezug: 0 W<br>\
Hausverbrauch: 0 W<br>\
Heutiger Hausverbrauch: 0.00 kWh \
davon aus dem Netz: 0.00 kWh
setstate RCT 2023-07-13 09:26:40 BatterieEntladung -3545.36
setstate RCT 2023-07-13 11:41:18 BatterieLadezustand 1.00
setstate RCT 2023-07-13 11:41:18 BatterieTemperatur 30.54
setstate RCT 2023-07-13 11:41:18 Batterie_Ent_Ladung 1635.69
setstate RCT 2023-07-13 11:41:18 EinspeisungInsHaus 3430.46
setstate RCT 2023-07-13 09:09:23 ErzeugungAktuell 2773.67
setstate RCT 2023-07-13 11:41:18 InsNetzAktuell -0.00
setstate RCT 2023-07-13 11:41:18 InsNetzTag -2806.98
setstate RCT 2023-07-13 11:41:18 Netzbezug 32.58
setstate RCT 2023-07-12 17:19:59 NetzeinspeisungAktuell 0
setstate RCT 2023-07-12 17:19:59 NetzeinspeisungTag 0
setstate RCT 2023-07-13 11:41:18 Tagesverbrauch 9518.22
setstate RCT 2023-07-13 11:41:18 TagesverbrauchInklLadung 12277.37
setstate RCT 2023-07-12 17:19:59 TagesverbrauchMitAkku 0
setstate RCT 2023-07-13 11:41:18 WechselrichterTemperatur 38.19
setstate RCT 2023-07-12 21:30:24 battery.cycles 13
setstate RCT 2023-07-13 10:53:28 battery.efficiency 0.90
setstate RCT 2023-07-13 11:26:31 battery.soc 1.00
setstate RCT 2023-07-13 10:57:58 battery.soc_target 1.00
setstate RCT 2023-07-11 20:07:38 battery.soh 1.00
setstate RCT 2023-07-13 11:41:18 battery.temperature 30.54
setstate RCT 2023-07-13 11:41:18 db.temp1 38.19
setstate RCT 2023-07-13 11:41:18 energy.e_ac_day 12277.37
setstate RCT 2023-07-13 11:41:18 energy.e_grid_feed_day -2806.98
setstate RCT 2023-07-13 11:41:07 energy.e_grid_load_day 32.58
setstate RCT 2023-07-13 11:41:18 energy.e_load_day 9518.22
setstate RCT 2023-07-13 11:39:58 error
setstate RCT 2023-07-13 11:41:18 g_sync.p_ac_grid_sum_lp -0.00
setstate RCT 2023-07-13 11:41:18 g_sync.p_ac_sum_lp 3430.46
setstate RCT 2023-07-13 11:41:18 g_sync.p_acc_lp 1635.69
setstate RCT 2023-07-11 20:07:38 inverter_sn 0065B4821490
setstate RCT 2023-07-11 20:07:38 power_mng.soc_max 0.97
setstate RCT 2023-07-11 20:07:38 power_mng.soc_min 0.07
setstate RCT 2023-07-13 09:12:31 state connected

Kann ja mit alledem leben, aber ärgerlich für mich ist, dass ich den Gesamtertrag der Anlage im Reading nicht ablesen kann.

LG Ingo

Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: beautifulfreak am 13 Juli 2023, 16:08:47
Servus,
ich hab das Modul seit einem Jahr laufen und recht happy damit.
Jetzt hab ich seit drei tagen einen zweiten RCT welcher als Slave mit dem ersten redet. Das funktioniert auch recht gut, nur sind jetzt manche Werte nicht mehr zu gebrauchen.
z.b. e_load_day, der geht bei mir jetzt ins minus
Edit panel - Photovoltaik - Dashboards - Grafana 2023-07-13 16-05-28.png
Vorher waren die Verbrauchswerte positiv, jetzt negativ.

Hat jemand ein ähnliches Setup?

Danke und Grüße

Peter
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 13 Juli 2023, 19:22:08
Man muss rechnen. Wie, steht irgendwo hier im Thread, meine ich.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 14 Juli 2023, 13:54:12
Kann mir bitte jemand sagen, wie man an

- den Gesamtertrag der Anlage
- den aktuellen Verbrauch des Hauses
kommt?

Die Registry habe ich durchgesehen. Verschiedenes ausprobiert, nichts davon fand sich im Reading wieder.
Und Berechnungen im StateFormat führen hier immer zu Null...

Vielen Dank!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: beautifulfreak am 15 Juli 2023, 18:55:33
Zitat von: is2late am 14 Juli 2023, 13:54:12Kann mir bitte jemand sagen, wie man an

- den Gesamtertrag der Anlage
- den aktuellen Verbrauch des Hauses
kommt?

Die Registry habe ich durchgesehen. Verschiedenes ausprobiert, nichts davon fand sich im Reading wieder.
Und Berechnungen im StateFormat führen hier immer zu Null...

Vielen Dank!

Der aktuelle Verbrauch sollte
energy.e_load_day
Und gesamt Ertrag
energy.e_ac_total
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 16 Juli 2023, 15:35:44
Fhempy lief wochenlang gut. Jetzt gab es plötzlich keine Verbindung mehr. Pi heruntergefahren und dann wollte der nicht mehr starten.
Sicherung eingespielt, Fhempy ist offline. Wieder runtergefahren, neu gestartet, keine Änderung. Bin verzweifelt...
Hat jemand eine Idee?

Hier das Log:
2023-07-16 15:07:56,638 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:07:56,640 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:07:56,693 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:08:15,795 - INFO     - websockets.server: connection closed
2023-07-16 15:14:43,242 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:14:43,243 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:14:43,282 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:19:50,461 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:19:50,463 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:19:50,503 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:19:56,366 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:19:56,367 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:19:56,407 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:20:15,430 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:20:15,431 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:20:15,472 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:22:01,393 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:22:01,394 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:22:01,434 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:22:20,935 - INFO     - websockets.server: connection closed
2023-07-16 15:25:50,759 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:25:50,760 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:25:50,800 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:26:05,375 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:26:05,376 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:26:05,419 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:27:25,693 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:27:25,694 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:27:25,727 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:28:16,361 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-16 15:28:16,362 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-16 15:28:16,415 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-16 15:28:34,939 - INFO     - websockets.server: connection closed

Vielen Dank, Ingo
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: MarkusAutomaticus am 18 Juli 2023, 12:18:52
Hallo zusammen,

als langjähriger FHEM-Nutzer betreibe ich seit Anfang des Jahres auch eine PV-Anlage mit RCT Wechselrichter und Speicher.
Dass Smarthome und PV zusammengehört war mir gleich klar  :)

Umso erfreuter war ich heute, als ich gesehen habe, dass es da schon Entsprechendes auf FHEM-Seite gibt.
Vielen Dank dafür an @dominik und @marvin78 !

Bei der Installation von fhempy habe ich mich hieran orientiert:
https://github.com/dominikkarall/fhempy#installation

und weil mein ubuntu schon ein paar Jährchen auf dem Buckel hat:
sudo apt install python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev gitsudo cpan Protocol::WebSocket
dann noch fhempy in FHEM definiert:
update add https://raw.githubusercontent.com/fhempy/fhempy/master/controls_pythonbinding.txt
update
shutdown restart
define fhempy_local BindingsIo fhempy

unter dem Raum fhempy habe ich jetzt
fhempy_local
 fhempyserver_15733

Während der fhempyserver_15733 grün ist bleibt fhempy_local leider rot
Es wird:
prev_error
127.0.0.1: Verbindungsaufbau abgelehnt (111)
angezeigt.

Was mache ich falsch?

Viele Grüße
Markus

Update: nachdem ich den Rechner neu gestartet habe sind jetzt beide grün und der Status ist
"state Installing fhempy (15min). "

Das sieht ja vermutlich nicht schlecht aus.
Ich bin allerdings davon ausgegangen, dass ich  mit dem ersten Befehl Python3 auf dem System installiert habe.
Trotzdem zeigt mir
markus@Jarvis4:~$ python -V
Python 2.7.17

Update2:
da die 15 Minuten rum sind und sich leider noch nichts getan hat hier mal ein list:
Internals:
   BindingType fhempy
   DEF        fhempy
   DeviceName ws:127.0.0.1:15733
   FUUID      64b65f1d-f33f-939b-ef66-348bb777a4f006a6
   IP         127.0.0.1
   NAME       fhempy_local
   NEXT_OPEN  1689675702.61823
   NR         562
   NTFY_ORDER 50-fhempy_local
   PARTIAL   
   PORT       15733
   STATE      Installing fhempy (15min)..
   TYPE       BindingsIo
   binary     1
   devioLoglevel 0
   eventCount 918
   installing 2
   localBinding 1
   nextOpenDelay 10
   prev_error 127.0.0.1: Verbindungsaufbau abgelehnt (111)
   READINGS:
     2023-07-18 13:01:16   state           Installing fhempy (15min)..
   args:
     fhempy_local
     BindingsIo
     fhempy
   messages:
     0:
Attributes:
   alias      fhempy_local
   devStateIcon {      my $attr_ver = "1.1.0";;      my $status_img = "10px-kreis-gruen";;      my $status_txt = "connected";;      my $ver = ReadingsVal($name, "version", "-");;      my $ver_available = ReadingsVal($name, "version_available", $ver);;      my $update_icon = "";;      my $refresh_img = "refresh";;      my $refresh_txt = "Update fhempy";;      if ($ver_available ne $ver) {        $refresh_img = "refresh\@orange";;        $refresh_txt = "Version ".$ver_available." available for update";;      }      if (ReadingsVal($name, "state", "disconnected") eq "disconnected") {        $status_img = "10px-kreis-rot";;        $status_txt = "disconnected";;      }      $update_icon = "<a  href=\"/fhem?cmd.dummy=set $name update&XHR=1\" title=\"Start ".$ver_available." update\">".FW_makeImage($refresh_img, $refresh_txt)."</a>";;      my $restart_icon = "<a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart fhempy\">".FW_makeImage("control_reboot")."</a>";;      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a> ".$ver." </a>".$update_icon.$restart_icon."</div>"    }
   group      fhempy
   icon       file_json-ld2
   room       fhempy
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 19 Juli 2023, 16:52:17
Hast du mal in die Logfiles unter /var/log/fhem/fhempy-* geschaut?
Evtl. ist dort ein Fehler ersichtlich?
LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: MarkusAutomaticus am 20 Juli 2023, 14:23:54
Zitat von: loescher am 19 Juli 2023, 16:52:17Hast du mal in die Logfiles unter /var/log/fhem/fhempy-* geschaut?
Evtl. ist dort ein Fehler ersichtlich?
LG,
Stephan.

Hallo Stephan,

Vielen Dank für deinen Tipp.
Bin gerade unterwegs. Das schaue ich mir gleich an, wenn ich wieder zuhause bin.

LG
Markus
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: MarkusAutomaticus am 25 Juli 2023, 18:00:45
Zitat von: loescher am 19 Juli 2023, 16:52:17Hast du mal in die Logfiles unter /var/log/fhem/fhempy-* geschaut?
Evtl. ist dort ein Fehler ersichtlich?
LG,
Stephan.

Hallo Stephan (und evtl andere Mitlesende),

ich habe gar kein fhem-Verzeichnis unter /var/log
Was hat das zu bedeuten?

Ich habe folgendes OS:
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:      bionic
Ja ich weiß, das müsste ich dringend mal updaten ;-)
und folgendes meldet fheminfo
System Info
ConfigType:    configFile
SVN rev:    27777
OS:    linux
Perl:    5.26.1
uniqueId:    47f...
 
Modules    Model    Count
AMADCommBridge        1
AMADDevice       
Automagic    3
BindingsIo        1
CUL        1
CUL_HM       
HM-CC-RT-DN    1
CCU-FHEM    1
HM-PB-4DIS-WM    1
HM-PBI-4-FM    1
DOIF       
FHEM    1
DUOFERN        1
Steckdosenaktor    1
RolloTron Standard    10
Rohrmotor Steuerung    13
Umweltsensor    1
RolloTron Comfort Master    3
Raumthermostat    1
DUOFERNSTICK        1
Dashboard        1
ENIGMA2       
Solo 4K    1
EnOcean        1
FHEMWEB        3
FRITZBOX        1
FileLog        104
HMinfo        1
HTTPSRV        1
HUEBridge        1
HUEDevice        22
LST002    5
Classic B40 TW - LIGHTIFY    1
LLC006    1
RWL022    1
LWL001    2
LCT015    4
RWL021    2
LWB001    4
LLC010    3
LCA006    2
LWB010    1
Plug 01    2
LCL001    1
LWA001    1
PHDL00    1
4090531P9    1
LLC020    2
LCT024    2
IPCAM        4
JeeLink       
LaCrosseITPlusReader.10.1q    1
LaCrosse        13
NUT        1
PIONEERAVR        1
PIONEERAVRZONE        1
PRESENCE       
lan-ping    7
PROPLANTA        1
RandomTimer        6
SVG        43
SYSMON        1
SYSSTAT        1
TCM       
ESP3    1
TPLinkHS110       
HS110(EU)    1
TelegramBot        1
Text2Speech        1
Twilight        1
WINCONNECT       
Windows 10 Pro    1
ZWDongle        1
alexa        1
at        24
autocreate        1
dummy        5
eventTypes        1
fhempy        1
fhempyServer        1
harmony        5
notify        90
readingsGroup        1
readingsProxy        5
speedtest        1
structure        3
telnet        1
weblink        8

Irgendwelche Ideen?

Viele Grüße
Markus
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: MarkusAutomaticus am 25 Juli 2023, 20:30:55
So, jetzt habe ich kurzerhand mein Ubuntu auf 20.04 aktualisiert.
unter /opt/fhem/log habe ich nun auch ein fhempy*.log gefunden:

2023-07-25 20:07:30,505 - ERROR    - __main__: Failed to load fhempy
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 139, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2023-07-25 20:07:30,505 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2023-07-25 20:08:09,233 - INFO     - __main__: Successfully installed fhempy>=0.1.462
2023-07-25 20:08:09,234 - ERROR    - __main__: Failed to import fhempy, exit now...
2023-07-25 20:09:10,345 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-25 20:09:10,346 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-25 20:09:10,373 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2023-07-25 20:17:32,661 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.660...
2023-07-25 20:17:32,662 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2023-07-25 20:17:32,723 - INFO     - websockets.server: server listening on 0.0.0.0:15733

Vielleicht wird da jemand schlau draus?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 25 August 2023, 10:57:31
Zitat von: Docter am 28 Mai 2023, 14:54:17
Zitat von: Docter am 25 Mai 2023, 11:15:44habe es probiert...

Kann den Wert setzen (0,07), aber das Target bleibt unverändert... (0,07) man kann dann aber (in der App) kein neues Target größer als 0.07 setzen.
Es wäre damit echt schön, den Wert "battery.soc_target" setzen zu können...

Danke
Thomas

Wäre es bitte möglich, den Befehl aufzunehmen, um das SOC Target zu setzen?

Danke
Thomas

Wäre das möglich wäre, wäre ich echt dankbar.
Gruß
Thomas
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 27 August 2023, 17:36:52
@Thomas: Habs zwar nicht probiert, aber...Geht das nicht über batt_soc_max bzw batt_soc_min?

Hab auch eine Frage:

power_solarA bzw B

tauchen bei mir nicht in den Readings auf , obwohl im device_readings_json vorhanden. Dementsprechend bleibt SCALAR bei 0.

Hat jemand eine Idee, womit das zusammenhängen könnte?

[code]define RCT fhempy rct_power 192.168.178.xxx
attr RCT alias RCT Wechselrichter
attr RCT comment RCT Power Wechselrichter
attr RCT 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\\
  },\\
  "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\\
  },\\
  "battery.charged_amp_hours":{\\
    "reading":"Laufende_Batterieladung",\\
    "factor":1\\
  },\\
  "power_mng.soc_charge":{\\
   "reading":"SOC_min_maintenance_charge",\\
   "factor":1\
  },\\
  "battery.status":{\\
    "reading":"battery_status",\\
    "factor":1\\
  },\\
  "battery.status2":{\\
    "reading":"battery_status_extra",\\
    "factor":1\\
  },\\
  "power_mng.bat_calib_days_in_advance":{\\
   "reading":"BattTageVorKalib",\\
   "factor":1\\
  },\\
  "power_mng.bat_next_calib_date":{\\
   "reading":"BattnextKalib"\
   "factor":1\
  }\\
}
attr RCT group rct_power
attr RCT room Photovoltaik,Geräte,fhempy
attr RCT stateFormat {\\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \\
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)"\
}
attr RCT userReadings BatterieLadezustand { ReadingsVal("RCT","battery.soc",0) },BatterieTemperatur { ReadingsVal("RCT","battery.temperature",0) },WechselrichterTemperatur { ReadingsVal("RCT","db.temp1",0) },Batterie_Ent_Ladung { ReadingsVal("RCT","g_sync.p_acc_lp",0) },EinspeisungInsHaus { ReadingsVal("RCT","g_sync.p_ac_sum_lp",0) },InsNetzAktuell { ReadingsVal("RCT","g_sync.p_ac_grid_sum_lp",0) },InsNetzTag { ReadingsVal("RCT","energy.e_grid_feed_day",0) },Tagesverbrauch { ReadingsVal("RCT","energy.e_load_day",0) },TagesverbrauchInklAkku { ReadingsVal("RCT","energy.e_ac_day",0) },AusNetzTag { ReadingsVal("RCT","energy.e_grid_load_day",0) },BattTageVorKalib { ReadingsVal("RCT","power_mng.bat_calib_days_in_advance",0) },BattnextKalib { ReadingsVal("RCT","power_mng.bat_next_calib_date",0) },power_solarCombined:power_solar(A|B).* { \\
(ReadingsVal($name, "power_solarA", "0")\\
+ReadingsVal($name, "power_solarB", "0")) }\
\

attr RCT verbose 1
#   DEF        rct_power 192.168.178.127
#   FHEMPYTYPE rct_power
#   FUUID      64ad9a3d-f33f-8a5f-3ae5-c44f46a3b81af060
#   IODev      fhempy_local
#   NAME       RCT
#   NR         516
#   PYTHONTYPE rct_power
#   STATE      SCALAR(0x97178a0)0 W
#(NO: 0 W /
#SW: 0 W)
#   TYPE       fhempy
#   eventCount 217
#   READINGS:
#     2023-08-27 17:33:11   AusNetzTag      37.83
#     2023-08-27 17:33:11   BattTageVorKalib 0
#     2023-08-27 17:33:11   BatterieLadezustand 1.00
#     2023-08-27 17:33:11   BatterieTemperatur 27.06
#     2023-08-27 17:33:11   Batterie_Ent_Ladung 4.70
#     2023-08-27 17:33:11   BattnextKalib   0
#     2023-08-27 17:33:11   EinspeisungInsHaus 2637.47
#     2023-08-27 17:33:11   InsNetzAktuell  -2071.89
#     2023-08-27 17:33:11   InsNetzTag      -4059.15
#     2023-08-27 17:33:11   Tagesverbrauch  15577.00
#     2023-08-27 17:33:11   TagesverbrauchInklAkku 19590.61
#     2023-08-27 17:33:11   WechselrichterTemperatur 33.40
#     2023-08-27 01:12:58   battery.cycles  49
#     2023-08-27 11:15:23   battery.efficiency 0.94
#     2023-08-27 15:31:24   battery.soc     1.00
#     2023-08-26 13:36:32   battery.soc_target 1.00
#     2023-07-16 16:07:04   battery.soh     1.00
#     2023-08-27 17:32:15   battery.temperature 27.06
#     2023-08-27 17:33:11   db.temp1        33.40
#     2023-08-27 17:33:11   energy.e_ac_day 19590.61
#     2023-08-27 17:33:11   energy.e_grid_feed_day -4059.15
#     2023-08-27 16:32:24   energy.e_grid_load_day 37.83
#     2023-08-27 17:33:11   energy.e_load_day 15577.00
#     2023-08-27 16:47:00   error           
#     2023-08-27 17:33:11   g_sync.p_ac_grid_sum_lp -2071.89
#     2023-08-27 17:33:11   g_sync.p_ac_sum_lp 2637.47
#     2023-08-27 17:33:11   g_sync.p_acc_lp 4.70
#     2023-07-16 16:07:04   inverter_sn     0065B4821490
#     2023-07-16 16:07:04   power_mng.soc_max 0.97
#     2023-07-16 16:07:04   power_mng.soc_min 0.07
#     2023-08-27 16:53:03   state           connected
#   args:
#     RCT
#     fhempy
#     rct_power
#     192.168.178.127
#   argsh:
#   hmccu:
#
setstate RCT SCALAR(0x97178a0)0 W\
(NO: 0 W / \
SW: 0 W)
setstate RCT 2023-08-27 17:33:11 AusNetzTag 37.83
setstate RCT 2023-08-27 17:33:11 BattTageVorKalib 0
setstate RCT 2023-08-27 17:33:11 BatterieLadezustand 1.00
setstate RCT 2023-08-27 17:33:11 BatterieTemperatur 27.06
setstate RCT 2023-08-27 17:33:11 Batterie_Ent_Ladung 4.70
setstate RCT 2023-08-27 17:33:11 BattnextKalib 0
setstate RCT 2023-08-27 17:33:11 EinspeisungInsHaus 2637.47
setstate RCT 2023-08-27 17:33:11 InsNetzAktuell -2071.89
setstate RCT 2023-08-27 17:33:11 InsNetzTag -4059.15
setstate RCT 2023-08-27 17:33:11 Tagesverbrauch 15577.00
setstate RCT 2023-08-27 17:33:11 TagesverbrauchInklAkku 19590.61
setstate RCT 2023-08-27 17:33:11 WechselrichterTemperatur 33.40
setstate RCT 2023-08-27 01:12:58 battery.cycles 49
setstate RCT 2023-08-27 11:15:23 battery.efficiency 0.94
setstate RCT 2023-08-27 15:31:24 battery.soc 1.00
setstate RCT 2023-08-26 13:36:32 battery.soc_target 1.00
setstate RCT 2023-07-16 16:07:04 battery.soh 1.00
setstate RCT 2023-08-27 17:32:15 battery.temperature 27.06
setstate RCT 2023-08-27 17:33:11 db.temp1 33.40
setstate RCT 2023-08-27 17:33:11 energy.e_ac_day 19590.61
setstate RCT 2023-08-27 17:33:11 energy.e_grid_feed_day -4059.15
setstate RCT 2023-08-27 16:32:24 energy.e_grid_load_day 37.83
setstate RCT 2023-08-27 17:33:11 energy.e_load_day 15577.00
setstate RCT 2023-08-27 16:47:00 error
setstate RCT 2023-08-27 17:33:11 g_sync.p_ac_grid_sum_lp -2071.89
setstate RCT 2023-08-27 17:33:11 g_sync.p_ac_sum_lp 2637.47
setstate RCT 2023-08-27 17:33:11 g_sync.p_acc_lp 4.70
setstate RCT 2023-07-16 16:07:04 inverter_sn 0065B4821490
setstate RCT 2023-07-16 16:07:04 power_mng.soc_max 0.97
setstate RCT 2023-07-16 16:07:04 power_mng.soc_min 0.07
setstate RCT 2023-08-27 16:53:03 state connected

[/code]
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 28 August 2023, 17:44:58
Tauchen denn überhaupt Readings auf?
Bist du dir mit den "\\" sicher?
Ich hab da immer nur ein "\".

Mach doch mal bitte ein "Copy for forum.fhem.de" deines RCT und stell es hier in codetags rein.

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 28 August 2023, 18:32:15
Hi Stephan,

danke für Deine Antwort!
Oben ist schon das "Copy for forum". Die doppelten \  finden sich nur in der Kopie, nicht im device_readings_json. Als Beleg ein Auszug als Screenshot.
Komisch......

Hier noch einmal die aktuelle Copy:

[code]define RCT fhempy rct_power 192.168.178.127
attr RCT alias RCT Wechselrichter
attr RCT comment RCT Power Wechselrichter
attr RCT 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\\
  },\\
  "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\\
  },\\
  "battery.charged_amp_hours":{\\
    "reading":"Laufende_Batterieladung",\\
    "factor":1\\
  },\\
  "power_mng.soc_charge":{\\
   "reading":"SOC_min_maintenance_charge",\\
   "factor":1\
  },\\
  "battery.status":{\\
    "reading":"battery_status",\\
    "factor":1\\
  },\\
  "battery.status2":{\\
    "reading":"battery_status_extra",\\
    "factor":1\\
  },\\
  "power_mng.bat_calib_days_in_advance":{\\
   "reading":"BattTageVorKalib",\\
   "factor":1\\
  },\\
  "power_mng.bat_next_calib_date":{\\
   "reading":"BattnextKalib"\
   "factor":1\
  }\\
}
attr RCT group rct_power
attr RCT room Photovoltaik,Geräte,fhempy
attr RCT stateFormat {\\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \\
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)"\
}
attr RCT userReadings BatterieLadezustand { ReadingsVal("RCT","battery.soc",0) },BatterieTemperatur { ReadingsVal("RCT","battery.temperature",0) },WechselrichterTemperatur { ReadingsVal("RCT","db.temp1",0) },Batterie_Ent_Ladung { ReadingsVal("RCT","g_sync.p_acc_lp",0) },EinspeisungInsHaus { ReadingsVal("RCT","g_sync.p_ac_sum_lp",0) },InsNetzAktuell { ReadingsVal("RCT","g_sync.p_ac_grid_sum_lp",0) },InsNetzTag { ReadingsVal("RCT","energy.e_grid_feed_day",0) },Tagesverbrauch { ReadingsVal("RCT","energy.e_load_day",0) },TagesverbrauchInklAkku { ReadingsVal("RCT","energy.e_ac_day",0) },AusNetzTag { ReadingsVal("RCT","energy.e_grid_load_day",0) },BattTageVorKalib { ReadingsVal("RCT","power_mng.bat_calib_days_in_advance",0) },BattnextKalib { ReadingsVal("RCT","power_mng.bat_next_calib_date",0) },power_solarCombined:power_solar(A|B).* { \\
(ReadingsVal($name, "power_solarA", "0")\\
+ReadingsVal($name, "power_solarB", "0")) }\
\

attr RCT verbose 1
#   DEF        rct_power 192.168.178.127
#   FHEMPYTYPE rct_power
#   FUUID      64ad9a3d-f33f-8a5f-3ae5-c44f46a3b81af060
#   IODev      fhempy_local
#   NAME       RCT
#   NR         516
#   PYTHONTYPE rct_power
#   STATE      SCALAR(0x72cdf68)0 W
#(NO: 0 W /
#SW: 0 W)
#   TYPE       fhempy
#   eventCount 125
#   READINGS:
#     2023-08-28 18:25:44   AusNetzTag      921.55
#     2023-08-28 18:25:44   BattTageVorKalib 0
#     2023-08-28 18:25:44   BatterieLadezustand 0.97
#     2023-08-28 18:25:44   BatterieTemperatur 26.06
#     2023-08-28 18:25:44   Batterie_Ent_Ladung 4.47
#     2023-08-28 18:25:44   BattnextKalib   0
#     2023-08-28 18:25:44   EinspeisungInsHaus 1304.61
#     2023-08-28 18:25:44   InsNetzAktuell  -580.60
#     2023-08-28 18:25:44   InsNetzTag      -17093.65
#     2023-08-28 18:25:44   Tagesverbrauch  13981.00
#     2023-08-28 18:25:44   TagesverbrauchInklAkku 30153.88
#     2023-08-28 18:25:44   WechselrichterTemperatur 33.37
#     2023-08-28 02:43:18   battery.cycles  50
#     2023-08-28 10:41:02   battery.efficiency 0.94
#     2023-08-28 18:03:50   battery.soc     0.97
#     2023-08-27 18:20:50   battery.soc_target 0.97
#     2023-07-16 16:07:04   battery.soh     1.00
#     2023-08-28 18:25:32   battery.temperature 26.06
#     2023-08-28 18:25:44   db.temp1        33.37
#     2023-08-28 18:25:44   energy.e_ac_day 30153.88
#     2023-08-28 18:25:44   energy.e_grid_feed_day -17093.65
#     2023-08-28 18:07:45   energy.e_grid_load_day 921.55
#     2023-08-28 18:25:44   energy.e_load_day 13981.00
#     2023-08-28 18:23:21   error           
#     2023-08-28 18:25:44   g_sync.p_ac_grid_sum_lp -580.60
#     2023-08-28 18:25:44   g_sync.p_ac_sum_lp 1304.61
#     2023-08-28 18:25:44   g_sync.p_acc_lp 4.47
#     2023-07-16 16:07:04   inverter_sn     0065B4821490
#     2023-07-16 16:07:04   power_mng.soc_max 0.97
#     2023-07-16 16:07:04   power_mng.soc_min 0.07
#     2023-08-28 18:02:20   state           connected
#   args:
#     RCT
#     fhempy
#     rct_power
#     192.168.178.127
#   argsh:
#
setstate RCT SCALAR(0x72cdf68)0 W\
(NO: 0 W / \
SW: 0 W)
setstate RCT 2023-08-28 18:25:44 AusNetzTag 921.55
setstate RCT 2023-08-28 18:25:44 BattTageVorKalib 0
setstate RCT 2023-08-28 18:25:44 BatterieLadezustand 0.97
setstate RCT 2023-08-28 18:25:44 BatterieTemperatur 26.06
setstate RCT 2023-08-28 18:25:44 Batterie_Ent_Ladung 4.47
setstate RCT 2023-08-28 18:25:44 BattnextKalib 0
setstate RCT 2023-08-28 18:25:44 EinspeisungInsHaus 1304.61
setstate RCT 2023-08-28 18:25:44 InsNetzAktuell -580.60
setstate RCT 2023-08-28 18:25:44 InsNetzTag -17093.65
setstate RCT 2023-08-28 18:25:44 Tagesverbrauch 13981.00
setstate RCT 2023-08-28 18:25:44 TagesverbrauchInklAkku 30153.88
setstate RCT 2023-08-28 18:25:44 WechselrichterTemperatur 33.37
setstate RCT 2023-08-28 02:43:18 battery.cycles 50
setstate RCT 2023-08-28 10:41:02 battery.efficiency 0.94
setstate RCT 2023-08-28 18:03:50 battery.soc 0.97
setstate RCT 2023-08-27 18:20:50 battery.soc_target 0.97
setstate RCT 2023-07-16 16:07:04 battery.soh 1.00
setstate RCT 2023-08-28 18:25:32 battery.temperature 26.06
setstate RCT 2023-08-28 18:25:44 db.temp1 33.37
setstate RCT 2023-08-28 18:25:44 energy.e_ac_day 30153.88
setstate RCT 2023-08-28 18:25:44 energy.e_grid_feed_day -17093.65
setstate RCT 2023-08-28 18:07:45 energy.e_grid_load_day 921.55
setstate RCT 2023-08-28 18:25:44 energy.e_load_day 13981.00
setstate RCT 2023-08-28 18:23:21 error
setstate RCT 2023-08-28 18:25:44 g_sync.p_ac_grid_sum_lp -580.60
setstate RCT 2023-08-28 18:25:44 g_sync.p_ac_sum_lp 1304.61
setstate RCT 2023-08-28 18:25:44 g_sync.p_acc_lp 4.47
setstate RCT 2023-07-16 16:07:04 inverter_sn 0065B4821490
setstate RCT 2023-07-16 16:07:04 power_mng.soc_max 0.97
setstate RCT 2023-07-16 16:07:04 power_mng.soc_min 0.07
setstate RCT 2023-08-28 18:02:20 state connected

[/code]
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 28 August 2023, 23:06:44
Danke für den Screenshot.
Dadurch wird der Fehler ganz klar.
Die "\" müssen weg!

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 29 August 2023, 11:36:01
Hallo Stephan,

danke für Deine Mühe!
Ich habe alle "\" weggenommen - der Fehler bleibt leider, dh BattnextKalib und BattTageVorKalib (so meine Benennung; Userreading sollte passen ) stehen zwar im Reading, aber mit Wert "0". Unten die Copy.

Interessant finde ich, dass SCALAR im Device Overview ständig den Wert ändert. Kann diesen jedoch nicht verstehen - ist das ein ungewöhnliches Format wie Hex oä? Sieht ähnlich aus wie ein Windows-Fehlercode.

Kann es sein, dass die Bezeichnungen "power_solarA" bzw "....B" individuell sind, dh je nach Anlage angepasst werden müssen? Ich habe die Bezeichnungen einfach von Noggas bzw. Deiner Vorlage übernommen.

LG Ingo

[code]define RCT fhempy rct_power 192.168.178.127
attr RCT alias RCT Wechselrichter
attr RCT comment RCT Power Wechselrichter
attr RCT 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\
  },\
  "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\
  },\
  "battery.charged_amp_hours":{\
    "reading":"Laufende_Batterieladung",\
    "factor":1\
  },\
  "power_mng.soc_charge":{\
   "reading":"SOC_min_maintenance_charge",\
   "factor":1\
  },\
  "battery.status":{\
    "reading":"battery_status",\
    "factor":1\
  },\
  "battery.status2":{\
    "reading":"battery_status_extra",\
    "factor":1\
  },\
  "power_mng.bat_calib_days_in_advance":{\
   "reading":"BattTageVorKalib",\
   "factor":1\
  },\
  "power_mng.bat_next_calib_date":{\
   "reading":"BattnextKalib"\
   "factor":1\
  }\
}
attr RCT group rct_power
attr RCT room Photovoltaik,Geräte,fhempy
attr RCT stateFormat {\\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)"\
}
attr RCT userReadings BatterieLadezustand { ReadingsVal("RCT","battery.soc",0) },BatterieTemperatur { ReadingsVal("RCT","battery.temperature",0) },WechselrichterTemperatur { ReadingsVal("RCT","db.temp1",0) },Batterie_Ent_Ladung { ReadingsVal("RCT","g_sync.p_acc_lp",0) },EinspeisungInsHaus { ReadingsVal("RCT","g_sync.p_ac_sum_lp",0) },InsNetzAktuell { ReadingsVal("RCT","g_sync.p_ac_grid_sum_lp",0) },InsNetzTag { ReadingsVal("RCT","energy.e_grid_feed_day",0) },Tagesverbrauch { ReadingsVal("RCT","energy.e_load_day",0) },TagesverbrauchInklAkku { ReadingsVal("RCT","energy.e_ac_day",0) },AusNetzTag { ReadingsVal("RCT","energy.e_grid_load_day",0) },BattTageVorKalib { ReadingsVal("RCT","power_mng.bat_calib_days_in_advance",0) },BattnextKalib { ReadingsVal("RCT","power_mng.bat_next_calib_date",0) },power_solarCombined:power_solar(A|B).* { \
(ReadingsVal($name, "power_solarA", "0")\
+ReadingsVal($name, "power_solarB", "0")) }\
\

attr RCT verbose 1
#   DEF        rct_power 192.168.178.127
#   FHEMPYTYPE rct_power
#   FUUID      64ad9a3d-f33f-8a5f-3ae5-c44f46a3b81af060
#   IODev      fhempy_local
#   NAME       RCT
#   NR         516
#   PYTHONTYPE rct_power
#   STATE      SCALAR(0x7cf3310)0 W
#(NO: 0 W /
#SW: 0 W)
#   TYPE       fhempy
#   eventCount 56
#   CHANGED:
#   READINGS:
#     2023-08-29 11:31:19   AusNetzTag      220.22
#     2023-08-29 11:31:19   BattTageVorKalib 0
#     2023-08-29 11:31:19   BatterieLadezustand 0.54
#     2023-08-29 11:31:19   BatterieTemperatur 26.05
#     2023-08-29 11:31:19   Batterie_Ent_Ladung -2011.27
#     2023-08-29 11:31:19   BattnextKalib   0
#     2023-08-29 11:31:19   EinspeisungInsHaus 760.88
#     2023-08-29 11:31:19   InsNetzAktuell  -1.84
#     2023-08-29 11:31:19   InsNetzTag      -19.38
#     2023-08-29 11:31:19   Tagesverbrauch  7880.12
#     2023-08-29 11:31:19   TagesverbrauchInklAkku 7676.07
#     2023-08-29 11:31:19   WechselrichterTemperatur 31.49
#     2023-08-29 07:11:11   battery.cycles  51
#     2023-08-28 23:22:10   battery.efficiency 0.95
#     2023-08-29 11:28:54   battery.soc     0.54
#     2023-08-27 18:20:50   battery.soc_target 0.97
#     2023-07-16 16:07:04   battery.soh     1.00
#     2023-08-29 11:31:19   battery.temperature 26.05
#     2023-08-29 11:31:19   db.temp1        31.49
#     2023-08-29 11:31:19   energy.e_ac_day 7676.07
#     2023-08-29 11:31:19   energy.e_grid_feed_day -19.38
#     2023-08-29 11:31:19   energy.e_grid_load_day 220.22
#     2023-08-29 11:31:19   energy.e_load_day 7880.12
#     2023-08-29 11:22:43   error           
#     2023-08-29 11:31:19   g_sync.p_ac_grid_sum_lp -1.84
#     2023-08-29 11:31:19   g_sync.p_ac_sum_lp 760.88
#     2023-08-29 11:31:19   g_sync.p_acc_lp -2011.27
#     2023-07-16 16:07:04   inverter_sn     0065B4821490
#     2023-07-16 16:07:04   power_mng.soc_max 0.97
#     2023-07-16 16:07:04   power_mng.soc_min 0.07
#     2023-08-29 11:21:12   state           connected
#   args:
#     RCT
#     fhempy
#     rct_power
#     192.168.178.127
#   argsh:
#
setstate RCT SCALAR(0x7cf3310)0 W\
(NO: 0 W / \
SW: 0 W)
setstate RCT 2023-08-29 11:31:19 AusNetzTag 220.22
setstate RCT 2023-08-29 11:31:19 BattTageVorKalib 0
setstate RCT 2023-08-29 11:31:19 BatterieLadezustand 0.54
setstate RCT 2023-08-29 11:31:19 BatterieTemperatur 26.05
setstate RCT 2023-08-29 11:31:19 Batterie_Ent_Ladung -2011.27
setstate RCT 2023-08-29 11:31:19 BattnextKalib 0
setstate RCT 2023-08-29 11:31:19 EinspeisungInsHaus 760.88
setstate RCT 2023-08-29 11:31:19 InsNetzAktuell -1.84
setstate RCT 2023-08-29 11:31:19 InsNetzTag -19.38
setstate RCT 2023-08-29 11:31:19 Tagesverbrauch 7880.12
setstate RCT 2023-08-29 11:31:19 TagesverbrauchInklAkku 7676.07
setstate RCT 2023-08-29 11:31:19 WechselrichterTemperatur 31.49
setstate RCT 2023-08-29 07:11:11 battery.cycles 51
setstate RCT 2023-08-28 23:22:10 battery.efficiency 0.95
setstate RCT 2023-08-29 11:28:54 battery.soc 0.54
setstate RCT 2023-08-27 18:20:50 battery.soc_target 0.97
setstate RCT 2023-07-16 16:07:04 battery.soh 1.00
setstate RCT 2023-08-29 11:31:19 battery.temperature 26.05
setstate RCT 2023-08-29 11:31:19 db.temp1 31.49
setstate RCT 2023-08-29 11:31:19 energy.e_ac_day 7676.07
setstate RCT 2023-08-29 11:31:19 energy.e_grid_feed_day -19.38
setstate RCT 2023-08-29 11:31:19 energy.e_grid_load_day 220.22
setstate RCT 2023-08-29 11:31:19 energy.e_load_day 7880.12
setstate RCT 2023-08-29 11:22:43 error
setstate RCT 2023-08-29 11:31:19 g_sync.p_ac_grid_sum_lp -1.84
setstate RCT 2023-08-29 11:31:19 g_sync.p_ac_sum_lp 760.88
setstate RCT 2023-08-29 11:31:19 g_sync.p_acc_lp -2011.27
setstate RCT 2023-07-16 16:07:04 inverter_sn 0065B4821490
setstate RCT 2023-07-16 16:07:04 power_mng.soc_max 0.97
setstate RCT 2023-07-16 16:07:04 power_mng.soc_min 0.07
setstate RCT 2023-08-29 11:21:12 state connected

[/code]
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 29 August 2023, 17:07:52
Es liegt definitiv an deinem device_readings_json.
Wenn ich das in mein Test-FHEM einbaue, dann hab ich den gleichen Effekt: Die Readings power_solarA/B gibt es nicht bzw. werden nicht aktualisiert.
Nimm mal bitte mein device_readings_json von meiner Webseite.
Das funktioniert 100%.

Wenn das erst mal stabil läuft, dann sehen wir weiter.

Ohne funktionierendes power_solarA/B kann dein STATE nicht funktionieren.

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 29 August 2023, 18:46:05
Hallo Stephan,

es ist zum Verzweifeln - klappt nicht.

Ich habe Folgendes getan:
Den Code von Deiner Website genommen und in
a) device_readings_json
b) stateFormat
c) userReadings
eingesetzt. Dann alle "\" entfernt.

Sodann Fhem neu gestartet.

Ergebnis s. Screenshot...alle Werte des STATE auf null. Wobei andere Werte der Readings durchaus aktualisiert werden, zB battery.temperature etc, s. zweiter Screenshot (insbes die roten Zahlen).

Hier die aktuelle Copy:

[code]define RCT fhempy rct_power 192.168.178.127
attr RCT alias RCT Wechselrichter
attr RCT comment RCT Power Wechselrichter
attr RCT 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\
  },\
  "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 RCT group rct_power
attr RCT room Photovoltaik,Geräte,fhempy
attr RCT stateFormat {\
"PV-Leistung: ".int(ReadingsVal($name, "power_solarA", "0")+ReadingsVal($name, "power_solarB", "0"))." W\
(NO: ".int(ReadingsVal($name, "power_solarA", "0"))." W / \
SW: ".int(ReadingsVal($name, "power_solarB", "0"))." W)<br>\
Gesamtertrag heute: ".sprintf("%.2f", (ReadingsVal($name, "energy_day", "0")/1000))." kWh<br>\
Batterie-Kapazität: ".int(ReadingsVal($name, "battery_soc", "0"))." %<br>\
Batterie-".((ReadingsVal($name, "power_battery", 1) < 0) ? "Ladung" : "ENTladung").": ".int(abs(ReadingsVal($name, "power_battery", "-")))." W<br>\
Netz-".((ReadingsVal($name, "power_grid_total", 1) < 0) ? "Einspeisung" : "Bezug").": ".int(abs(ReadingsVal($name, "power_grid_total", "-")))." W<br>\
Hausverbrauch: ".int(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 RCT userReadings power_solarCombined:power_solar(A|B).* { \
(ReadingsVal($name, "power_solarA", "0")\
+ReadingsVal($name, "power_solarB", "0")) }\

attr RCT verbose 1
#   DEF        rct_power 192.168.178.127
#   FHEMPYTYPE rct_power
#   FUUID      64ad9a3d-f33f-8a5f-3ae5-c44f46a3b81af060
#   IODev      fhempy_local
#   NAME       RCT
#   NR         516
#   PYTHONTYPE rct_power
#   STATE      PV-Leistung: 0 W
#(NO: 0 W /
#SW: 0 W)<br>
#Gesamtertrag heute: 0.00 kWh<br>
#Batterie-Kapazität: 0 %<br>
#Batterie-ENTladung: 0 W<br>
#Netz-Bezug: 0 W<br>
#Hausverbrauch: 0 W<br>
#Heutiger Hausverbrauch: 0.00 kWh
#davon aus dem Netz: 0.00 kWh
#   TYPE       fhempy
#   eventCount 51
#   READINGS:
#     2023-08-29 18:31:34   AusNetzTag      226.11
#     2023-08-29 18:31:34   BattTageVorKalib 0
#     2023-08-29 18:31:34   BatterieLadezustand 0.99
#     2023-08-29 18:31:34   BatterieTemperatur 25.36
#     2023-08-29 18:31:34   Batterie_Ent_Ladung 4.14
#     2023-08-29 18:31:34   BattnextKalib   0
#     2023-08-29 18:31:34   EinspeisungInsHaus 1648.11
#     2023-08-29 18:31:34   InsNetzAktuell  -809.60
#     2023-08-29 18:31:34   InsNetzTag      -9776.16
#     2023-08-29 18:31:34   Tagesverbrauch  14521.99
#     2023-08-29 18:31:34   TagesverbrauchInklAkku 24068.18
#     2023-08-29 18:31:34   WechselrichterTemperatur 32.29
#     2023-08-29 07:11:11   battery.cycles  51
#     2023-08-29 11:48:33   battery.efficiency 0.94
#     2023-08-29 17:38:06   battery.soc     0.99
#     2023-08-29 17:38:06   battery.soc_target 0.99
#     2023-07-16 16:07:04   battery.soh     1.00
#     2023-08-29 18:41:41   battery.temperature 25.27
#     2023-08-29 18:41:52   db.temp1        31.73
#     2023-08-29 18:42:15   energy.e_ac_day 24347.86
#     2023-08-29 18:42:15   energy.e_grid_feed_day -9907.26
#     2023-08-29 17:58:50   energy.e_grid_load_day 226.11
#     2023-08-29 18:42:15   energy.e_load_day 14670.14
#     2023-08-29 18:23:05   error           
#     2023-08-29 18:42:15   g_sync.p_ac_grid_sum_lp -644.35
#     2023-08-29 18:42:15   g_sync.p_ac_sum_lp 1488.55
#     2023-08-29 18:42:15   g_sync.p_acc_lp 4.17
#     2023-07-16 16:07:04   inverter_sn     0065B4821490
#     2023-07-16 16:07:04   power_mng.soc_max 0.97
#     2023-07-16 16:07:04   power_mng.soc_min 0.07
#     2023-08-29 18:33:06   state           connected
#   args:
#     RCT
#     fhempy
#     rct_power
#     192.168.178.127
#   argsh:
#
setstate RCT PV-Leistung: 0 W\
(NO: 0 W / \
SW: 0 W)<br>\
Gesamtertrag heute: 0.00 kWh<br>\
Batterie-Kapazität: 0 %<br>\
Batterie-ENTladung: 0 W<br>\
Netz-Bezug: 0 W<br>\
Hausverbrauch: 0 W<br>\
Heutiger Hausverbrauch: 0.00 kWh \
davon aus dem Netz: 0.00 kWh
setstate RCT 2023-08-29 18:31:34 AusNetzTag 226.11
setstate RCT 2023-08-29 18:31:34 BattTageVorKalib 0
setstate RCT 2023-08-29 18:31:34 BatterieLadezustand 0.99
setstate RCT 2023-08-29 18:31:34 BatterieTemperatur 25.36
setstate RCT 2023-08-29 18:31:34 Batterie_Ent_Ladung 4.14
setstate RCT 2023-08-29 18:31:34 BattnextKalib 0
setstate RCT 2023-08-29 18:31:34 EinspeisungInsHaus 1648.11
setstate RCT 2023-08-29 18:31:34 InsNetzAktuell -809.60
setstate RCT 2023-08-29 18:31:34 InsNetzTag -9776.16
setstate RCT 2023-08-29 18:31:34 Tagesverbrauch 14521.99
setstate RCT 2023-08-29 18:31:34 TagesverbrauchInklAkku 24068.18
setstate RCT 2023-08-29 18:31:34 WechselrichterTemperatur 32.29
setstate RCT 2023-08-29 07:11:11 battery.cycles 51
setstate RCT 2023-08-29 11:48:33 battery.efficiency 0.94
setstate RCT 2023-08-29 17:38:06 battery.soc 0.99
setstate RCT 2023-08-29 17:38:06 battery.soc_target 0.99
setstate RCT 2023-07-16 16:07:04 battery.soh 1.00
setstate RCT 2023-08-29 18:41:41 battery.temperature 25.27
setstate RCT 2023-08-29 18:41:52 db.temp1 31.73
setstate RCT 2023-08-29 18:42:15 energy.e_ac_day 24347.86
setstate RCT 2023-08-29 18:42:15 energy.e_grid_feed_day -9907.26
setstate RCT 2023-08-29 17:58:50 energy.e_grid_load_day 226.11
setstate RCT 2023-08-29 18:42:15 energy.e_load_day 14670.14
setstate RCT 2023-08-29 18:23:05 error
setstate RCT 2023-08-29 18:42:15 g_sync.p_ac_grid_sum_lp -644.35
setstate RCT 2023-08-29 18:42:15 g_sync.p_ac_sum_lp 1488.55
setstate RCT 2023-08-29 18:42:15 g_sync.p_acc_lp 4.17
setstate RCT 2023-07-16 16:07:04 inverter_sn 0065B4821490
setstate RCT 2023-07-16 16:07:04 power_mng.soc_max 0.97
setstate RCT 2023-07-16 16:07:04 power_mng.soc_min 0.07
setstate RCT 2023-08-29 18:33:06 state connected

[/code]
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 29 August 2023, 21:54:46
Das ist ja sehr, sehr rätselhaft.
Ich verstehe nicht, warum bei dir die Readings power_solarA und power_solarB nicht auftauchen.
Versuch doch mal das Device zu löschen und dann testsweise nur mit diesem Attribut anzulegen:
attr RCT device_readings_json {\
  "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\
  }\
}
Wenn weiterhin kein power_solarA auftaucht, dann bitte mal verbose auf 5 setzen und im fhempy-* Logfile schauen.

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 30 August 2023, 12:35:41
Erledigt wie verlangt. Device gelöscht. Dann Update System und Update Fhem. Neustart.
Danach Device neu angelegt und nur mit den o.g. Attributen angelegt. Verbindung klappt sofort, die Standard-Readings sind da, und jetzt auch (Wunder!!!) power_solarA und ..B.
Super, tausend Dank, Stephan!

Jetzt füge ich mal die anderen Attribute von Deiner HP hinzu und dann mal sehen...

LG Ingo
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 30 August 2023, 22:18:38
Kann man die Standard-Readings eigentlich abschalten oder herausnehmen?
Ich habe nur gefunden, dass sich ihre Aktualisierung abstellen lässt. Dann sind sie aber ja immer noch da.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 01 September 2023, 22:59:57
Die überflüssigen Readings kannst du dann ja mit deletereading einfach löschen.

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 02 September 2023, 04:44:52
Vielen Dank, Stephan!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: lr002585 am 09 September 2023, 14:05:01
Zitat von: Docter am 25 August 2023, 10:57:31
Zitat von: Docter am 28 Mai 2023, 14:54:17
Zitat von: Docter am 25 Mai 2023, 11:15:44habe es probiert...

Kann den Wert setzen (0,07), aber das Target bleibt unverändert... (0,07) man kann dann aber (in der App) kein neues Target größer als 0.07 setzen.
Es wäre damit echt schön, den Wert "battery.soc_target" setzen zu können...

Danke
Thomas

Wäre es bitte möglich, den Befehl aufzunehmen, um das SOC Target zu setzen?

Danke
Thomas

Wäre das möglich wäre, wäre ich echt dankbar.
Gruß
Thomas

ich wäre auch am setzen von SOC_target interessiert.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: loescher am 10 Oktober 2023, 20:50:59
Hallo Thomas,

Das müsste wohl im https://github.com/fhempy/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/rct_power/rct_power.py (https://github.com/fhempy/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/rct_power/rct_power.py) eingebaut werden.
Das könntest du doch mal bei dir ausprobieren.
Müsste wohl so ausschauen:
"battery_soc_target": {
                "args": ["value"],
                "params": {"value": {"format": "float"}},
                "help": "Battery SoC target [-]. Decimal values from 0.00 - 1.00 are allowed.<br>Registry: battery.soc_target",
                "function": "set_rct_write",
                "function_param": 0x8B9FF008,
            },

Und dann noch ein kleiner Hinweis an alle Interessierten, weil in den vergangenen Posts ein paar Kommentare aufkamen, dass Werte nicht mit der App übereinstimmen oder irgendetwas falsch sei.
Ich habe mal ein paar Readings des device_readings_json angepasst und etwas an der Darstellung gefeilt, siehe: https://www.loescher-online.de/smarthome.html#rct (https://www.loescher-online.de/smarthome.html#rct)

LG,
Stephan.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 17 Oktober 2023, 09:51:29
Zitat von: loescher am 10 Oktober 2023, 20:50:59Hallo Thomas,

Das müsste wohl im https://github.com/fhempy/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/rct_power/rct_power.py (https://github.com/fhempy/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/rct_power/rct_power.py) eingebaut werden.
Das könntest du doch mal bei dir ausprobieren.
Müsste wohl so ausschauen:
"battery_soc_target": {
                "args": ["value"],
                "params": {"value": {"format": "float"}},
                "help": "Battery SoC target [-]. Decimal values from 0.00 - 1.00 are allowed.<br>Registry: battery.soc_target",
                "function": "set_rct_write",
                "function_param": 0x8B9FF008,
            },

Und dann noch ein kleiner Hinweis an alle Interessierten, weil in den vergangenen Posts ein paar Kommentare aufkamen, dass Werte nicht mit der App übereinstimmen oder irgendetwas falsch sei.
Ich habe mal ein paar Readings des device_readings_json angepasst und etwas an der Darstellung gefeilt, siehe: https://www.loescher-online.de/smarthome.html#rct (https://www.loescher-online.de/smarthome.html#rct)

LG,
Stephan.

Vielen Dank, setze mich die Tage mal ran..!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: zyi64567 am 17 November 2023, 00:15:01
Kann das hier jemand implementieren!?
Meine Kenntnisse in der Programmierung sind leider etwas eingeschränkt.

https://github.com/weltenwort/home-assistant-rct-power-integration/discussions/277


So wie ich das einschätze, ließe sich der Akku dann wunderbar für Tibber und aWattar nutzen.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 10 Dezember 2023, 08:16:23
Vielleicht habe ich es nur überlesen, vielleicht gibt es aber auch (noch) keine Lösung:

Im Winter ist der Speicher ja durchgängig leer. Da hilft dann auch eine Notstromversorgung nicht, wenn der Netzstrom ausfällt. Ist der Netzstromausfall planbar, weil zB angekündigt, wäre es ja schön, vorher die Batterie aus dem Netz geladen und den Zugriff der Anlage auf den Speicher bis zum Ausfallzeitpunkt blockiert zu haben.
Geht das?

LG
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 10 Dezember 2023, 13:50:01
Zitat von: is2late am 10 Dezember 2023, 08:16:23Vielleicht habe ich es nur überlesen, vielleicht gibt es aber auch (noch) keine Lösung:

Im Winter ist der Speicher ja durchgängig leer. Da hilft dann auch eine Notstromversorgung nicht, wenn der Netzstrom ausfällt. Ist der Netzstromausfall planbar, weil zB angekündigt, wäre es ja schön, vorher die Batterie aus dem Netz geladen und den Zugriff der Anlage auf den Speicher bis zum Ausfallzeitpunkt blockiert zu haben.
Geht das?

LG

Ja, setz doch einfach SocMin auf 50 oder gar 70%
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 13 Dezember 2023, 08:41:09
Vielen Dank!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 14 Dezember 2023, 12:05:06
@Docter:

Vielleicht hast Du ja auch hierfür eine Lösung:

Wenn SocMin zB auf 50 steht und der Netzstrom ausbleibt, müsste man ja SocMin wieder heruntersetzen, um an diese Batteriereserve heranzukommen.
Wäre natürlich ideal, wenn das automatisch abliefe.
Gibt es ein Reading, das meldet, wenn der Netzstrom ausbleibt? Etwa power_grid_total?

Vielen Dank im Voraus!

LG
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 14 Dezember 2023, 12:10:53
hmm.. da ich keinen Switch habe, kenne ich dessen Reading nicht gut.
Hast schonmal in der Übersicht danach gesucht?

Bin mir fast sicher, das es ein Flag gibt, für den Inselbetrieb
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 15 Dezember 2023, 15:08:09
Ja, da gibt es aus meiner Laiensicht tatsächlich einige Verdächtige. Aber dabei ist mir aufgefallen, dass sich so das Problem wohl nicht lösen lässt, denn was passiert:

Batterie-Minimum steht zB auf 50 % und Batterie ist entsprechend aufgeladen trotz Winterbedingungen.
Jetzt Netzstromausfall, Notstromversorgung sollte idealerweise einsetzen, aber...
Batterie-Ladezustand 50 % und Batterie-Minimum ebenfalls 50 %.

Eigentlich darf die Anlage ja nun nicht auf die Batterieladung zugreifen, oder? Das wäre jedenfalls so, wenn das Minimum bei den üblichen 7 % stehen würde, die lt RCT nicht unterschritten  werden sollen.

Also müsste das Minimum jetzt wieder von 50 % auf zB 7 % herabgesetzt werden. Per Hausautomation geht das aber wohl nicht, weil ohne Strom auch kein Internet.

Damit sitzt man im Dunklen, obwohl Batterieladung vorhanden.

Hat jemand dazu eine geniale Idee?

LG Ingo
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 16 Dezember 2023, 14:47:46
Ja, eine eaton USV an die Fritzbox und den Raspberry... Und schon geht das. RCT sollte ja da sein.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 16 Dezember 2023, 17:01:38
Hallo Docter,

ich fürchte, damit wäre es nicht getan. Die USV habe ich und FB und R4 sind angeschlossen.
Aber wenn der Strom in der Straße/Siedlung ausfällt, ist in der Regel auch der Verteilerkasten/die Verteilerstation für "Internet" (bei uns Glasfaser) betroffen.
Und der braucht Strom, also kein Internet im Haus. Und von diesem (schlechtesten) Fall möchte ich ausgehen.

Wie also erreiche ich dann die Anlage? Hat die dann überhaupt noch Strom, weil die Notstromversorgung ja vor dem Problem steht, dass sie das Batterie-Minimum von aktuell 50 % nicht angreifen darf?

Komisch eigentlich - dieses Versorgungsproblem müsste doch im Winter fast alle Anlagen mit Stromspeicher und Notstromversorgung betreffen..... Oder gehe ich irgendwo von falschen Voraussetzungen aus?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Docter am 16 Dezember 2023, 17:26:07
Die Anlage erreichst du doch im lokalen Netz und erreichbar ist die auch wenn SocMin und Soc gleich sind.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 16 Dezember 2023, 22:12:12
Greift denn der Pi direkt via FB/WLAN - dh ohne zuerst auf den RCT-Server - auf die Anlage zu?
Bin immer davon ausgegangen, dass alles über den RCT-Server läuft....
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 16 Dezember 2023, 22:35:41
Das ist komplett lokal.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 17 Dezember 2023, 06:55:38
Super, vielen Dank!
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 07 Februar 2024, 16:46:02
ZitatBatterie-Minimum steht zB auf 50 % und Batterie ist entsprechend aufgeladen trotz Winterbedingungen.
Jetzt Netzstromausfall, Notstromversorgung sollte idealerweise einsetzen, aber...
Batterie-Ladezustand 50 % und Batterie-Minimum ebenfalls 50 %.
Eigentlich darf die Anlage ja nun nicht auf die Batterieladung zugreifen, oder? Das wäre jedenfalls so, wenn das Minimum bei den üblichen 7 % stehen würde, die lt RCT nicht unterschritten  werden sollen.
Also müsste das Minimum jetzt wieder von 50 % auf zB 7 % herabgesetzt werden.

Falsche Annahme... RCT Support schreibt auf Anfrage dazu:
Zitatnein, diese Annahme ist inkorrekt. Der MinSoC markiert den Wert, bis zu dem die Anlage im Normalbetrieb Ihr Haus mit Strom versorgt. Der SoC-Bereich für den Inselbetrieb ist immer mit 7% eingestellt, weshalb die Batterie im Falle eines Stromausfalls den Bereich zwischen dem Min SoC und 7% für die Versorgung Ihres Systems heranzieht.

Also alles bestens...
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: harry-th am 08 Februar 2024, 11:07:49
Hallo,
ich hab ein ähnliches Problem wie nogga #94 in diesem thread.
Mein System:
fhem auf RPI3B+ mit Bookworm
fhempy_server und fhempy_local installiert und status ist grün.
nach
define my_rct_device fhempy rct_power 192.168.0.37meldet fhem fhempy server offline
define my_rct_device fhempy rct_power 192.168.0.37
#   CFGFN     
#   DEF        rct_power 192.168.0.37
#   FHEMPYTYPE rct_power
#   FUUID      65c49e94-f33f-1724-7310-716268cf5ac4f6c1
#   IODev      fhempy_local
#   NAME       my_rct_device
#   NR         54
#   PYTHONTYPE rct_power
#   STATE      fhempy server offline
#   TYPE       fhempy
#   eventCount 27
#   READINGS:
#     2024-02-08 10:55:18   state           fhempy server offline
#   args:
#     my_rct_device
#     fhempy
#     rct_power
#     192.168.0.37
#   argsh:
#
setstate my_rct_device fhempy server offline
setstate my_rct_device 2024-02-08 10:55:18 state fhempy server offline


im fhempylog steht:
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
BrokenPipeError: [Errno 32] Broken pipe
Creating fhempy virtual environment...OK
Activating virtual environment...OK
2024-02-07 11:12:13,335 - ERROR    - __main__: Failed to load fhempy
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/bin/start_fhempy.py", line 141, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2024-02-07 11:12:13,351 - INFO     - __main__: Attempting install of fhempy>=0.1.462
2024-02-07 11:13:48,596 - INFO     - __main__: Successfully installed fhempy>=0.1.462
2024-02-07 11:14:07,003 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.718...
2024-02-07 11:14:07,005 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2024-02-07 11:14:07,070 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2024-02-07 11:14:17,931 - INFO     - websockets.server: connection open
2024-02-07 11:14:17,933 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Activating virtual environment...OK
2024-02-07 11:27:59,619 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy 0.1.718...
2024-02-07 11:27:59,621 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2024-02-07 11:27:59,684 - INFO     - websockets.server: server listening on 0.0.0.0:15733
danke vorab für Tips
Woran kann das liegen?

Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 08 März 2024, 13:23:51
Hallo,
ich zweifele an der Intelligenz der RCT-Steuerung. Next calibration date ist Sonntag, 14 Uhr. Heute, Freitag, ist bei strahlendem Himmel der Akku schon seit 12 Uhr voll. Und jetzt, um 13 Uhr, fängt die Entladung durch Hausverbrauch an, während gleichzeitig noch über 4000 W produziert werden. Was ist das für ein Blödsinn?! Warum beginnt die Entladung nicht durch den Hausverbrauch nach Sonnenuntergang?

Meine eigentliche Frage dazu: Kann ich die Entladung stoppen bzw den Zeitpunkt zB auf 18 Uhr verschieben?

LG Ingo
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 08 März 2024, 13:25:14
Hast du den RCT Support dazu befragt?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 08 März 2024, 13:40:01
Nein, die sind ja kaum je erreichbar. Hab auf deren HP gesucht und da heisst es, das System kalkuliert auf Basis der Durchschnittswerte der letzten x Tage. Das kann ja nur schiefgehen bei punktuellen Sonnentagen. Und dass RCT einen manuellen Eingriff anbietet, halte ich für äusserst unwahrscheinlich.
Ich hatte gehofft, dass Deine Programmierung schon etwas dazu hergibt.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: marvin78 am 08 März 2024, 13:42:00
Nicht mein Modul.
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: is2late am 08 März 2024, 13:43:09
Pardon, mein Fehler.

Weiss jemand, ob das Modul schon die Möglichkeit vorsieht, den Beginn der Kalibrierung zu verschieben bzw nicht vor den Abendstunden starten zu lassen?
Titel: Aw: fhempy: rct_power (RCT-Power)
Beitrag von: Christoph.A am 20 Mai 2024, 00:20:03
Hallo,
ich möchte den SoC über ein at bis 11:00 auf 60% begrenzen. Aber irgend wie bekomme ich es über ein set nicht hin.
define soc_redused at *06:30:00 { if (($month >= 5) || ($month <= 9)) { fhem("set power_mng.soc_max 0.60") }}
attr soc_redused room setSoc
define soc_standard at *11:00:00 { if (($month >= 5) || ($month <= 9)) {fhem("set power_mng.soc_max 0.95") }}
attr soc_standard room setSoc

Ich brauche einen Tipp, wo mein Fehler liegt. Danke.

Die Parameter von rctclient habe ich mal in ein Excel mit PowerQuery eingelesen. Damit kann man sich beliebige device_readings_json zusammenbauen und bestehende auswerten.