Eigenen Regler implementieren

Wie kann ich die Daten der Geräte grafisch darstellen? Fragen, Beispiele und Antworten zu InfluxDB und Grafana
Antworten
seldor
Beiträge: 3
Registriert: Do 12. Mär 2020, 16:35

Eigenen Regler implementieren

Beitrag von seldor »

Hoi Ulrich

Erstmal vielen, vielen Dank für das super coole Tool!
Ich habe es im Nu mit meinen beiden WRs integriert. Nun möchte ich aber auch noch meine SmartFox-Steuerung anzapfen, da ich diese verwende, um 2 Relais anzusteuern. Das auslesen der Relais-Zustände ist recht einfach (GET http://smartfox/values.xml) und das auslesen der Relais-Stände aus dem XML ist auch trivial.
Leider ist aber die Einbindung meines Scripts nicht ganz trivial, denn ich muss an zwei Orten tief in deine Scripts eingreifen:
1. $Regler: Die Liste der Regler ist hardcoded in multi_regler_auslesen.php (in meinem Fall mit 2 WRs), ich musste also dort eine Zeile einfügen, die beim nächsten Update flöten geht
2. Influx Query: Dies ist noch etwas mühsamer, denn aus den rohen $aktuelleDaten-arrays werden die effektiv zu speichernden Daten tief in funktionen.inc.php extrahiert, weit weg von der Logik, die sie reinschreibt. Natürlich kann ich das umgehen, indem ich meinen eigenen influx-code schreibe, was aber auch nicht so wirklich Sinn der Sache ist.

Folgende Vorschläge:
1. Wenn $Regler etwas enthält, das die hardcodete Liste nicht auswerten kann, könntest du ja ganz einfach schauen, ob es zb ein custom_$Regler.php gibt und wenn ja, dieses aufrufen.
2. Wo in funktionen.inc.php die query zusammengebastelt wird, könntest du schauen, ob es im daten-array bereits ein Element 'InfluxQuery' oder so gibt und dann diese Query fix verwenden.

So könnte man recht elegant eigene Auslese-Scripts bauen, die auch bei updates sicher wären.

Gruess Matti

Benutzeravatar
Ulrich
Administrator
Beiträge: 1153
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: Eigenen Regler implementieren

Beitrag von Ulrich »

Hallo Matti,

wenn das alles zu einfach wäre....
Wenn ich so etwas machen würde, bringen mich die Support Anfragen um.

Ich gehe davon aus, dass du den Smartfox Pro Energiemanager meinst. Hast Du die Protokoll Beschreibung, wie man das Gerät auslesen und steuern kann? So wie ich es sehe, kann man die Relais auch von Außen steuern. Ich muss mich aber erst einmal etwas schlau machen.

Es gibt 2 Möglichkeiten der Integration.

a) Wenn ich die komplette Protokoll Beschreibung bekomme, könnte wir das Gerät offiziell einbinden.
b) Man kann selber eine Routine schreiben, die minütlich aufgerufen wird und ganz eigenständig die Daten in die Influx Datenbank schreibt.

Eine "halbfertige" Integration geht nicht, da ja noch mehr als nur das Einstellen der Daten in die Influx Datenbank damit zusammenhängt. Es muss ja auch die HomeMatic, Pushover, MQTT usw. Anbindung funktionieren. Deshalb kann die Lösung nur eine vollständige Integration oder eine komplette selbständige "User Intergration" sein.
--------------------------------------
Ulrich [Admin]

seldor
Beiträge: 3
Registriert: Do 12. Mär 2020, 16:35

Re: Eigenen Regler implementieren

Beitrag von seldor »

Hallo Ulrich
Danke für deine Einschätzung, dann wähle ich für mich wohl vorerst Variante 3: Ich hab meine eigene Integration geschrieben, die halt nicht update-safe ist... Aber vielleicht schreibe ich sie tatsächlich mal noch unabhängig von den solaranzeigen-scripts um.
HomeMatic, MQTT etc verwende ich nicht, kann daher nicht viel dazu sagen, aber ich verstehe dich, dass der Support eines solchen Halbproduktes für dich sehr anstrengend sein könnte...
Zu Smartfox habe ich bisher leider nirgends eine offizielle Doku gefunden. Ich habe es mehr reverse-engineered aus der eigenen weboberfläche, wo man eben ein values.xml runterladen kann, welches alles zu enthalten scheint, wenn auch grösstenteils unter sehr kryptischen Schlüsseln, von denen ich nicht weiss, ob die fix sind oder nicht.
Sehe auch, dass Port 502 offen wäre, kenne mich aber mit modbus nicht aus - kann man hier einfach ermitteln, welche register er anbietet?

Ja, die Relais kann man ebenfalls ansteuern, zb GET http://smartfox/setswrel.cgi?rel=2&state=1 setzt Relais 2 auf manuell ein, state=0 zurück auf automatik
Kann dir gern mal das values.xml von mir schicken wenn dus dir anschauen willst, vermutlich müsste man es aber mit noch einzwei anderen Anwendern vergleichen bevor man sagen kann, ob die Werte darin fix sind (würde es zwar vermuten, aber garantiert ist es nicht). Oder sonst kannst du mir gerne sagen, was ich modbus-technisch machen müsste, um eine Auflistung zu erhalten...

Gruess Matti

Benutzeravatar
Ulrich
Administrator
Beiträge: 1153
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: Eigenen Regler implementieren

Beitrag von Ulrich »

Ich versuche es einmal direkt beim Hersteller. Vielleicht ist er ja kooperativ.
--------------------------------------
Ulrich [Admin]

seldor
Beiträge: 3
Registriert: Do 12. Mär 2020, 16:35

Re: Eigenen Regler implementieren

Beitrag von seldor »

Super, danke!
Helfe dir sonst dann gern bei der Integration, soweit das mein setup her gibt. Habe 2 WRs und den SmartFox Meter angeschlossen (der kann 5 zusätzliche S0 Eingänge auswerten) sowie 2 Relais in Betrieb.
Gruess Matti

Antworten