Emulation von S300TH Sensoren

Begonnen von beaune, 14 Oktober 2020, 14:14:14

Vorheriges Thema - Nächstes Thema

beaune

Hallo,

ich habe seit einigen Jahren eine Luftfeuchtigkeitssteuerung FS20 LES im Einsatz, die die Außenwerte für Temperatur und Feuchtigkeit von einem S300TH bekommt und nach Vergleich mit den intern gemessenen Daten ein Signal an eine Funksteckdose FS20-ST-3 gibt, über die dann das Fenster geöffnet bzw. geschlossen wird. Sowei so gut.

Jetzt ist der S300TH aber defekt und sendet nur noch 99.9% Feuchtigkeit. Ersatzgeräte sind nicht mehr zu kriegen. Daher war meine Idee, FHEM zu verwenden, um die Werte anders zu erfassen von irgendeinem Nicht-FS20-Sensor, und diese dann per notify über die CUL wieder auszusenden, und zwar exakt mit dem Funkprotokoll, das auch ein S300TH verwenden würde. Müßte doch eigentlich gehen, oder? Ich weiß nur nicht so recht wie ich am ehesten zum Erfolg komme. Meine Ideen:

  • Erste Idee war, die erfassten Werte einfach per "set" auf das S300TH device zu schreiben. Geht aber nicht, da CUL_WS gar kein set implementiert. Hat schon mal jemand in diese Richtung geforscht oder soogar was implementiert?
  • Dann hab ich im Forum gelesen, dass es bei Homematic virtuelle Geräte gibt, mit denen man sowas machen kann. Scheidet aber aus, weil wir ja kein Homematic sind.
  • Man könnte vielleicht versuchen, mit dem Type FS20 zu arbeiten und damit selbst ein Gerät zu definieren, dass exakt die Readings des S300TH unterstützt und auf denselben Hauscode/adresse gesetzt wird. Da müßten ja entsprechende set-Funktionen zur Verfügung stehen, die passende Telegramme über die CUL aussenden können. Aber wie genau, da bin ich nicht weit genug im Thema. Gibts hier Erfahrungen wo ich aufsetzen könnte?

  • Als letzte Möglichkeit könnte man versuchen, die S300TH-RAW-Telegramme aufzuzeichnen (hat das schon mal jemand gemacht und vielleicht sogar irgendwo dokumentiert?), diese dann basierend auf den Messwerten neu zu berechnen und wieder per raw-Befehl auszusenden. Das muß ja gehen, ist aber auch maximal kompliziert. Da bräuchte ich auf jeden Fall ein paar Hinweise, wie ich in FHEM/Perl solche RAW-Telegramme berechnen kann, hoffe aber auch , dass wir ne andere Möglichkeit finden.

Was meint Ihr, wie ich das Problem am besten lösen kann? Hat jeand von Euch sowas ähnliches schon mal gemacht? Oder kann mir hier helfen? Ich hoffe auf die Community...

phantom

Hi

vielleicht hilft dir dieser externe Beitrag
https://www.kompf.de/tech/rftemp.html

Klappt einwandfrei. Dank geht an Martin Kompf.

phantom

ph1959de

Zitat von: phantom am 02 November 2020, 20:41:45
Hi

vielleicht hilft dir dieser externe Beitrag
https://www.kompf.de/tech/rftemp.html

Klappt einwandfrei. Dank geht an Martin Kompf.

phantom

Die Beschreibung macht ja einen sehr guten Eindruck. Ich habe die Seite mal im FHEM-Wiki verlinkt.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

beaune

Das ist sicher eine gute Möglichkeit, wie man den S300TH in Hardware nachbauen kann. Mein Ansatz war eher, hier generell unabhängiger von veralteter und nicht mehr lieferbarer Hardware zu werden. Ja, ich könnte den Sensor so nachbauen. Aber dann geht nächstes Jahr vielleicht die FS20LES kaputt,... Mir scheint es da zielführender zu sein, einen aktuellen Sensor (in meinem Fall die TCM-kompatible Wetterstation des Nachbarn) zu verwenden und der alten Steuerung eben einen S300TH vorzutürken, solange bis die dann auch gegen was neues ausgetauscht wird.

Das war übrigens inzwischen auch erfolgreich. Man kann per RAW Daten senden, das klappt. Ist zwar nicht ganz ohne herauszufinden, wie man den G-Befehlsstring aufbauen muß, da die vorhandenen Dokumente alle nicht ganz vollständig sind oder zumindest Interpretationsspielraum lassen. Mit Probieren und Tipps von anderen Usern hab ichs aber hingekriegt. Viel besser ist aber die Möglichkeit, auch K-Telegramme per CUL senden zu können. Diesen aufzubauen ist wesentlich einfacher, da braucht man keine Bit-Manipulationen in Perl programmieren.

Das Schwierigste am Ende war zu verstehen, wann eine FS20LES überhaupt Daten empfängt! Es funktioniert eben nicht, dass man zu einem beliebigen Zeitpunkt ein Telegramm schickt und erwartet, dass das dann auch gleich angezeigt wird. Man muß hier ein spezielles Timing in den Sendezyklen einhalten, dann gehts. Die entscheidenden Hinweise hab ich in diesem Thread bekommen: https://forum.fhem.de/index.php?topic=52534.new;topicseen#new

Ist also gelöst!