FHEM - Anwendungen > Solaranlagen

Neues Modul: 37_RCT für RCT-Power Systeme

(1/13) > >>

marvin78:
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:


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

Definition:


--- Code: ---define <NAME> RCT <HOST-IP> [<PORT>]
--- Ende Code ---

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.

marvin78:
Kleines Update mit ein paar Batteriewerten zusätzlich.

marvin78:
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):


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

marvin78:
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.


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

marvin78:
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.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln