Autor Thema: Neues Modul: 37_RCT für RCT-Power Systeme  (Gelesen 4282 mal)

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Neues Modul: 37_RCT für RCT-Power Systeme
« am: 08 April 2021, 21:00:24 »
Seit einiger Zeit werkelt hier ein RCT Wechselrichter mit Speicher. Basierend auf dem RCT Client habe ich ein kleines Modul gebaut, welches einige der wichtigsten Werte auslesen kann.

Das Modul kann noch nicht viel - nur ein paar Live- und Statistik-Werte auslesen. Das Modul ist quick&dirty ohne großes Fehlermanagement und nur kurz getestet. Es hat aber einige hilfreiche Logzeilen und sollte nicht blockierend sein. RCT Client CLI (Link oben) wird benötigt, außerdem werden die folgenden Perl Module benötigt:

Data::Dumper, JSON

Installation:

update all https://raw.githubusercontent.com/marvin78/FHEM-RCT/master/controls_RCT.txt
Definition:

define <NAME> RCT <HOST-IP> [<PORT>]
Intervall ist 10 Sekunden. Das kann per Attribut "pollInterval" angepasst werden.

Es gibt sicher noch einige Fehler im Modul. Ggf. kann ja mal jemand auf Herz und Nieren testen. Support gibt es leider nicht in Echtzeit.

« Letzte Änderung: 10 April 2021, 08:55:22 von marvin78 »
Gefällt mir Gefällt mir x 1 Hilfreich Hilfreich x 1 Liste anzeigen

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT Power Systeme
« Antwort #1 am: 09 April 2021, 09:28:26 »
Kleines Update mit ein paar Batteriewerten zusätzlich.

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #2 am: 10 April 2021, 17:37:47 »
Im git liegt nun die Version 0.1.2. Die auszulesenden Values sind in ein Attribut gewandert, welches ein JSON enthält das angepasst werden kann. Somit kann jeder die Werte und entsprechenden Readings eintragen die er auswerten möchte. Auch kann man nun entscheiden, wie oft ein Wert eigentlich ausgelesen werden sollte, welche Einheit der Wert haben soll (noch ohne Funktion) und mit welchem Faktor der Wert ggf. direkt multipliziert werden soll. Es gibt entsprechende Vorgabewerte im Attribut values. Die Registerwerte kann man dieser Aufstellung entnehmen: https://rctclient.readthedocs.io/en/latest/registry.htm

Das JSON sieht so aus (Ausschnitt):

{
    "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.
    },
    ...
    ]
  }

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #3 am: 14 April 2021, 07:30:11 »
In Version 0.1.5 kann man nun auch das Zahlenformat direkt bestimmen. Es gibt nun im values-Attribut format für ein sprintf Format. Lässt man es weg, wird 1:1 aus dem Client übernommen.

{
    "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"
    },
    ...
    ]
  }
« Letzte Änderung: 14 April 2021, 08:14:03 von marvin78 »

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #4 am: 16 April 2021, 07:15:34 »
Version 0.2.0 schreibt die Einheit (unit) ins Reading, wenn im JSON vorhanden.

Standard ist ohne Einheit. Wenn ihr also Einheiten wünscht, müsst ihr Sie ins Attribut values einpflegen. Dabei dann bitte den Faktor beachten und in die Registry schauen.
« Letzte Änderung: 16 April 2021, 07:18:39 von marvin78 »
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline thm2014

  • New Member
  • *
  • Beiträge: 10
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #5 am: 16 April 2021, 13:10:53 »
Danke erstmal für die Mühen. Die Verbindung steht auf Port 8899 und der STATE ist active. Die zwei genannten Perl-Module sind auch installiert. Wie kann ich denn jetzt auf die Werte zugreifen?

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #6 am: 16 April 2021, 13:12:19 »
Wenn die Daten nicht von alleine kommen:

Ist der RCT Client auf localhost installiert?

Ein list vom device wäre gut.

Dann mach mal verbose 5 und schaue ins Log.

Offline thm2014

  • New Member
  • *
  • Beiträge: 10
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #7 am: 16 April 2021, 19:20:43 »
Danke, ich habe falsch gelesen, ich habe den RCT Client gar nicht installiert, sondern habe die IP des RCTPowers angegeben, da ja ein Telnet dorthin auf Port 8899 funktioniert. Werde meine Installation anpassen, dann wird es vermutlich einfach gehen.

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #8 am: 16 April 2021, 19:39:24 »
Die IP des Inverters angeben ist schon richtig. Aber ohne den lokal installierten RCT Client funktioniert das Modul hier nicht. Es baut darauf auf. Im Grunde nutzt es nur die CLI des Clients um die Daten, frei konfigurierbar, ins FHEM zu bringen.

Bitte ein wenig mit dem Client beschäftigen. Oben gibt es einen Link.
« Letzte Änderung: 16 April 2021, 19:41:56 von marvin78 »

Offline thm2014

  • New Member
  • *
  • Beiträge: 10
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #9 am: 16 April 2021, 19:44:52 »
Okay verstanden. Muss ich mir wohl in Ruhe anschauen. Die Installation mag scheinbar meine Pyton 3 Version nicht, weder pip noch pip3 führen zum Erfolg.

pip install -U rctclient
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 6, in <module>
    from pip._internal.cli.main import main
ImportError: No module named 'pip._internal'

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #10 am: 16 April 2021, 20:03:19 »
Ich weiß nichts über dein System. Aber ggf. zunächst Python 3 aktualisieren...

Offline Zeitisen

  • Jr. Member
  • **
  • Beiträge: 97
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #11 am: 19 April 2021, 22:25:05 »
Ich habe das gleiche Problem.
Raspian hat aktuell Python 3.5 und rctclient benötigt 3.6
Da muss man wohl zuerst manuell auf eine höhere Python Version aktualisieren. Ist nach Doku im Netz wohl etwas Arbeit:
https://stackoverflow.com/questions/64718274/how-to-update-python-in-raspberry-pi

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #12 am: 20 April 2021, 08:25:20 »
Sieht nicht nach so viel Arbeit aus.

Offline peter-s

  • New Member
  • *
  • Beiträge: 22
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #13 am: 22 April 2021, 08:17:58 »
Moin zusammen,

ich habe gestern meine PV-Anlage von RCT-Power in Betrieb genommen und wollte natürlich die Daten unbedingt in FTUI anzeigen.
Die Integration mit dem Modul 37_RCT an sich hat eigentlich fast sofort und recht problemlos geklappt, vielen Dank für die tolle Arbeit an marvin78!!!

Das eigentliche Problem war die Installation des rctclient - diese sollte unbedingt als "root" erfolgen, dann klappt es auch mit dem Aufruf aus FHEM heraus.

Für die Visualisierung der Langzeit-Statistiken werde ich mir wohl irgendwann influxdb/Grafana antun müssen...

Nochmal danke für das Modul!

LG Peter

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5862
Antw:Neues Modul: 37_RCT für RCT-Power Systeme
« Antwort #14 am: 22 April 2021, 09:36:51 »
Ich bin aktuell ziemlich begeistert von dem RCT System. RCT Client ist etwas hakelig. Leider gibt es auch Probleme, wenn man mit mehreren Clients gleichzeitig auf die serielle Schnittstelle zugreift (die RCT-Power App gehört wohl auch dazu). Aber im Grunde funktioniert das hier bei mir bisher prima. Ich habe mir einen Quick&veryDirty Block für Smartvisu gebaut (basierend auf einem Widget aus dem KNX User-Forum). So muss es nun erstmal laufen, bis ich wieder mehr Zeit habe.


 

decade-submarginal