98_weekprofile.pm versus 73_km200.pm

Begonnen von Sailor, 05 März 2020, 13:10:13

Vorheriges Thema - Nächstes Thema

Sailor

Ein herzerfrischendes Moin von achtern Diek vorweg
Hallo Risiko

Als Modulauthor des 73_km200.pm wollte ich Dich als Modulauthor des 98_weekprofile.pm fragen, ob es moeglich ist, die Wochenprofile fuer das km200 - Modul mit zu integrieren.

Der Befehl
get myKm200 /dhwCircuits/dhw1/switchPrograms/A JSON
gibt folgendes aus:
{"id":"/dhwCircuits/dhw1/switchPrograms/A","type":"switchProgram","setpointProperty":{"id":"/dhwCircuits/dhw1/temperatureLevels","uri":"http://192.168.178.58/dhwCircuits/dhw1/temperatureLevels"},"maxNbOfSwitchPoints":42,"maxNbOfSwitchPointsPerDay":6,"switchPointTimeRaster":15,"writeable":1,"switchPoints":[{"dayOfWeek":"Mo","setpoint":"high","time":240},{"dayOfWeek":"Mo","setpoint":"off","time":1320},{"dayOfWeek":"Tu","setpoint":"high","time":240},{"dayOfWeek":"Tu","setpoint":"off","time":1320},{"dayOfWeek":"We","setpoint":"high","time":240},{"dayOfWeek":"We","setpoint":"off","time":1320},{"dayOfWeek":"Th","setpoint":"high","time":240},{"dayOfWeek":"Th","setpoint":"off","time":1320},{"dayOfWeek":"Fr","setpoint":"high","time":240},{"dayOfWeek":"Fr","setpoint":"off","time":1320},{"dayOfWeek":"Sa","setpoint":"high","time":360},{"dayOfWeek":"Sa","setpoint":"off","time":1320},{"dayOfWeek":"Su","setpoint":"high","time":360},{"dayOfWeek":"Su","setpoint":"off","time":1320}]}

Und so muss es dann auch wieder mittels
set myKm200 /dhwCircuits/dhw1/switchPrograms/A  [{"setpoint":"high","dayOfWeek":"Mo","time":240},{"time":1380,"setpoint":"off","dayOfWeek":"Mo"},{"setpoint":"high","dayOfWeek":"Tu","time":240},{"time":1320,"dayOfWeek":"Tu","setpoint":"off"},{"time":240,"setpoint":"high","dayOfWeek":"We"},{"time":1320,"dayOfWeek":"We","setpoint":"off"},{"dayOfWeek":"Th","setpoint":"high","time":240},{"time":1320,"dayOfWeek":"Th","setpoint":"off"},{"setpoint":"high","dayOfWeek":"Fr","time":240},{"time":1320,"dayOfWeek":"Fr","setpoint":"off"},{"setpoint":"high","dayOfWeek":"Sa","time":360},{"time":1320,"setpoint":"off","dayOfWeek":"Sa"},{"time":360,"setpoint":"high","dayOfWeek":"Su"},{"time":1320,"dayOfWeek":"Su","setpoint":"off"}]

geschrieben werden.

Ist es für dich möglich, dein Modul dahingehend zu ändern, dass man das km200 ebenfalls einfach von deinem weekprofile aus programmieren kann?

Ich mag das Rad nicht neu erfinden.

Hinweis: In meinem Beispiel daheim verstecken sich hinter den folgenden RegExen Wochenprogramme. Die Namen der Readings sind aber von Nutzer zu Nutzer unterschiedlich da sie von der verbauten Heizung abhängen.


mykm200:/dhwCircuits/dhw1/switchPrograms/A
mykm200:/heatingCircuits/hc1/switchPrograms/A
mykm200:/heatingCircuits/hc1/switchPrograms/B


Danke für deine Rückmeldung!

Gruß
    Sailor
******************************
Man wird immer besser...

Beta-User

Hi Sailor,

bin zwar nicht Risiko, aber vielleicht ein paar Anmerkungen, nachdem Risiko und ich so was ähnliches neulich bei WeekdayTimer verwirklicht haben:

- weekprofile kennt "nur" ein bestimmtes internes Datenformat und "kann" auch nur Temperaturen und "on" bzw. "off" zurückliefern bzw. Zeitformate "verstehen".
- Was du hier brauchst, ist allerdings etwas sehr anderes - ähnlich wie es mir bei WDT ging.

Mein Vorschlag wäre daher, in deinem Modul einen Parser einzubauen, der die Daten vom weekprofile-Format in das km700-Format übersetzen kann und einen "weekprofile"-spezifischen setter (am besten ähnlich zu dem, was WDT versteht, dann ist es für alle Beteiligten vermutlich transparenter), der dann einen update von weekprofile aus ermöglicht. WDT verarbeitet das dann so, dass über den setter dann ein "get" an weekprofile abgesetzt wird.

Die "Luxus-Variante" wäre dann, auch noch eine Exportmöglichkeit an weekprofile anzubieten, aber das kann z.B. WDT auch nicht (denke ich jedenfalls), das klappt afaik derzeit nur mit MAX und HM.

Falls du Unterstützung haben wolltest, was den Code für 73_km200 angeht, lass wissen. Die Änderungen betr. weekprofile an WeekdayTimer sollten im Wesentlichen in diesem Patch hier sein: https://svn.fhem.de/trac/changeset/20619/, das Gegenstück wäre https://svn.fhem.de/trac/changeset/20617/. War also nicht sooo viel auf beiden Enden.

Ach so, und bevor ich das vergesse: Ich finde das eine coole Initiative, auch wenn ich kein km200 habe!

Ausdrückliches Danke!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files