Weekprofil: Topics und Weekdaytimer

Begonnen von morfey, 14 Dezember 2020, 16:54:19

Vorheriges Thema - Nächstes Thema

morfey

Hallo wiedermal,
leider habe ich im Moment ziemlich viele Fragen ... es ist halt ein weiter Weg, bis die erste Heizung funktioniert ...
Ich habe ein Weekprofil namens heizung_plan angelegt in dem ich weitere Profile angelegt habe, zunächst neben default ein Profil bad_heiz_plan fürs Bad.
Ich habe aber noch kein Topic eingerichtet, ich denke, dass brauche ich vorerst nicht. Kann ich das jetzt so an Weekdaytimer übergeben?:
set heizung_plan send_to_device bad_heiz_plan bad_wd_heizung
bad_wd_heizung soll dabei mein weekdaytimer-device sein. Das eigentliche Thermostat nennt sich hz_bad
Geht das so?

Beta-User

Du solltest sowas im Zweifel einfach ausprobieren, da lernt man am meisten und bekommt ggf. auch Rückmeldungen von den betreffenden Modulen, wenn was nicht passt. (und wenn es Probleme gibt, kann der Maintainer dann die Doku und/oder die Rückmeldungen anpassen).

Grundsätzlich arbeitet WeekdayTimer immer mit "Topic" (und "eigentlich" auch weekprofile), aber wenn nichts da ist, ist es in der Regel eben "default".

Ansonsten kann ich nach meinen bisherigen Erfahrungen eigentlich nur jedem ans Herz legen, das Topic-feature zu aktivieren ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Guten Abend,

Danke für die schnelle Antwort!
Wie lege ich denn Topics an und verwalte diese? Im Wiki habe ich nur gefunden, wie ich Topics wechseln kann. Auch steht in der Command-Ref nicht, wie man Topics anlegt und mit Inhalt füllt. Ich habe hier auch noch Verständniss-Probleme ... Was ist ein Topic genau? Ist es ein Unterprofil von einem Profil? oder ist es ein extra-Profil, dass ich allen anderen Profilen sozusagen unterschieben kann?
Sorry, wenn ich hier blöde frage ...

Beta-User

Na ja, auch hier gilt tendenziell: ausprobieren...

Wiki ist hier zu finden: https://wiki.fhem.de/wiki/Weekprofile#Topics

In anderen Modulen würde man vielleicht "scene" sagen. Ein topic ist eine Art "Modus", mit dem man schnell alle "Clients" (=Thermostate etc.) umstellen kann, also z.B. von "weg zum arbeiten" auf "homeoffice". Dabei werden immer nur die Clients umgestellt, die dieses Topic kennen, wobei man über Referenzierungen (siehe Wiki) ein Referenzprofil auch für mehrere Topics verwenden kann usw..

Vielleicht hilft dir mein "Umstellungsbeispiel" betr. CUL_HM/HMinfo weiter, da sind die Namen entwas sprechender: https://forum.fhem.de/index.php/topic,97430.msg1100788.html#msg1100788
Aber Achtung: unbedingt auch den Folgebeitrag beachten, im Ausgangspost war ein gedanklicher "Dreher" drin!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hi!
Danke für die Hilfen!
Den Link hatte ich auch schon gefunden. Ich habe nun mein Weekprofil für Topics erweitert:
attr heizung_plan useTopics
Das Attribut wurde gesetzt, allerdings sehe ich in der Weboberfläche keine Topics. Es sollte nach Aussage des Wikis automatisch das Topic default angelegt werden. Auch finde ich nichts, wie ich Topics bearbeite, lösche, erstelle ...

Beta-User

#5
Hm, ich meine "useTopics" sollte auf "1" gestellt werden; bei mir sieht das list auf der Testinstallation grade so aus:
Internals:
CONFIGFILE ./log/weekprofile-wp_test.cfg
FUUID      5fad4d6e-f33f-8d89-ecda-5d40b4fa5229b4ae
NAME       wp_test
NR         59
NTFY_ORDER 50-wp_test
STATE      created
TYPE       weekprofile
.attraggr: .attrminint: PROFILES: HASH(0x58ed924) HASH(0x58eca6c) HASH(0x58edf6c) HASH(0x58ee554) HASH(0x58f0d5c)
READINGS:
2020-12-15 11:43:40   active_topic    test
2020-12-15 11:42:04   profile_count   5
2020-12-15 10:38:51   state           created
2020-12-15 11:42:04   topics          default:test
SNDDEVLIST:
HASH(0x57567bc)
HASH(0x5901e2c)
TOPICS: default test
Attributes: useTopics  1
Neue Topics und Profile bekommt man über den "Plus"-Button im Device-Überblick (neben "Minus" und "T"), das ist afaik eine Abkürzung von "copy_profile", nur dass das Ziel dabei eben immer in dem "topic:entity"-Format angegeben wird, und "copy" eben dazu genutzt werden kann, auch ganz neue Profile zu erstellen...
Ist am Anfang etwas verwirrend (bin ja auch über die Reihenfolge gestolpert), aber wenn man mal "drin" ist und etwas damit rumgespielt hat, ist das ganze wirklich easy!
(An der Doku könnte man noch arbeiten...).
(EDIT: Formatierung des list geändert)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hi,

vielen lieben Dank für die ganze Hilfe!
Ich habe jetzt auch ein Topic Default.
Wenn ich nun auf das + klicke, kann ich ein Topic-Name und einen Namen eingeben. dann wird ein neues Profil inkl. neuem Topic erstellt.
Ich dachte, ich kann Topics unabhängig von Profilen erstellen ... ist das nicht so?
Vielleicht muss ich doch nochmal blöd fragen: Für was brauche ich Topics? Ich habe es so verstanden, das ich für jeden Heizungsregler ein eigenes Profil erstellen und hinterlegen kann, wenn wir aber im Urlaub sind, sage ich zentral, dass alle Heizungen das Topic Urlaub verwenden sollen. Wenn wir nach hause kommen sage ich jeder Heizung, dass sie wieder auf das entsprechende Default-Topic in seinem Profil reagieren soll. Ist das so richtig?
Sorry, wenn ich soviele Anfänger-Fragen hab ... aber es erschließt sich mir nicht so richtig ... Wenn ich es verstanden habe, helfe ich gern bei der Doku ...

Beta-User

Vorab: ich gehe davon aus, dass man in einer FHEM-Installation genau 1 weekprofile-Device benötigt, um alle Profile zu verwalten.
Sind wir da beieinander?

Zitat von: morfey am 15 Dezember 2020, 13:09:55
Vielleicht muss ich doch nochmal blöd fragen: Für was brauche ich Topics? Ich habe es so verstanden, das ich für jeden Heizungsregler ein eigenes Profil erstellen und hinterlegen kann, wenn wir aber im Urlaub sind, sage ich zentral, dass alle Heizungen das Topic Urlaub verwenden sollen.
Ja. Du stellst an dem einen weekprofile-Device den Topic "Urlaub" ein, und weekprofile verteilt das dann an alle die "Thermostate", die "Urlaub" als Topic kennen. Über das "Verzögerungsattribut" kann man dabei auch erreichen, dass sich z.B. der dadurch generierte Funkverkehr etwas entzerrt ;) .

ZitatWenn wir nach hause kommen sage ich jeder Heizung, dass sie wieder auf das entsprechende Default-Topic in seinem Profil reagieren soll. Ist das so richtig?
Zumindest sprachlich falsch.
Du stellst an dem einen weekprofile den Topic "default" (oder "zuhause", oder ...) ein, und weekprofile verteilt das dann an alle die Thermostate, die "default" (oder ...) als Topic kennen.

Mal angenommen, "Urlaub" wäre ein allgemeines Profil, das einfach nur zentral 18° vorsieht, würde man das 1x als "volles Profil" generieren, und dann alle anderen "Urlaub:entity"-Kombinantionen können dann dieses einfach als Referenzprofil verwenden. Reichen also 17°, änderst du das an einer Stelle, und zack, ist es überall...

(Ich will dich jetzt nicht völlig verwirren, aber über eventMap an den Thermostaten könnte man vermutlich dann auch (von WeekdayTimer aus) zwar noch eine Temperatur in °C versenden, aber bestimmte Werte dann (z.B. für ZWave-Geräte) auf tmHeating oder tmIrgendwas umbiegen, und damit die individuell in den Thermostaten hinterlegten Werte aktivieren...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hallo nochmal,
vielen Dank! so langsam lichtet es sich ... aber leider noch nicht ganz:
ich regel das ganze über weekdaytimer, weil ich fritz-Dect-Thermostate habe, die wohl kein speichern der Profile auf dem Gerät unterstützen.
In Weekdaytimer gebe ich das Profil inkl. Topic an. Findet dann die Verknüpfung zwischen Profil und Topic in Weekdaytimer statt?
Wo liegt der Unterschied zwischen Topic und einem Referenzierten Profil?
Machen wir es ganz einfach:
ich habe ein Weekprofile Device namens heizplan.
Dort ein Profil namens badezimmer (welches meine gewünschten Zeiten und Temperaturen enthält).
Nun möchte ich ein Topic? oder Profil? Urlaub erstellen (das immer 18 Grad rund um die Uhr enthält).
1. Soll urlaub am besten ein Profil oder ein Topic sein?
2. Wenn es ein Profil ist, lege ich dann ein Topic im Profil urlaub an? Oder mache ich ein Topic im Profil badezimmer?
3. Wo mache ich die Verknüpfung zwischen urlaub und badezimmer?

Irgendwie doch verzwickt :-)

Beta-User

#9
Also: Ein effektives "Wochenpofil" wird bei weekprofile@useTopic immer durch das Duo "topic:entity" identifiziert.

Die eigentliche "Verknüpfung" findet über ein Attribut (am WDT) statt, nämlich "weekprofile". Das entspricht dem, was ich hier immer "entity" nenne.

Das sollte also z.B. so aussehen:
Zitatdefine wd2test WeekdayTimer <fritz-Dect-Thermostat> weekprofile:heizplan:badezimmer
EDIT:
define wd2test WeekdayTimer <fritz-Dect-Thermostat> weekprofile:heizplan:trueKann sich WeekdayTimer das Profil "default:default" von "heizplan" holen (was liefert "get heizplan profile_data default:default"?) , startet er damit (da müßte ich ggf. noch am WDT was ändern, logischer wäre mit "badezimmer", und das gleich in das Attribut zu schreiben).
Dann verpaßt du ihm das Attribut "weekprofile":
attr wd2test weekprofile badezimmer
Und schwups, wird bei einer Topic-Änderung, die sich auf "badezimmer" auswirkt (also als Kombi in weekprofile vorhanden ist) auch das aktuelle Profil geladen (na ja, es braucht eine nochmalige Änderung der DEF, damit weekprofile das im laufenden Betrieb mitbekommt, dass es einen weiteren Client hat, oder einen FHEM-Neustart).

(Das feature ist noch recht neu, kann sein, dass da noch das eine oder andere Detail nachzuarbeiten ist).

EDIT: Unsinn, ein Blick in die commandref beseitigt manche Unklarheit...

"default:default" ist erst mal richtig, das dritte Element ist nur "true" oder nichts:
define wd2test WeekdayTimer <fritz-Dect-Thermostat> weekprofile:heizplan:truedefine wd2test WeekdayTimer <fritz-Dect-Thermostat> weekprofile:heizplan
Damit weiß der WDT erst mal nur, dass er überhaupt ein "weekprofile-controlled" WDT ist und wie er mit $we umzugehen hat.

Der Rest ist dann über das Attribut und set-Befehle zu erledigen...

Sorry!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hi,

Vielen vielen Dank für die ganzen Ausführungen!
Ich habe neben dem Profil Badezimmer und Default sowohl im Profil default, als auch in Badezimmer das Topic default.
soweit so gut ...
Ich denke auch verstanden zu haben, wie ich Topic und Profil in Weekdaytimer verknüpfe. Es bleiben noch die Fragen:
1. Wie erstelle ich nun ein weiteres Topic? bzw. erstelle ich immer ein pärchen aus Topic und Profil?
2. Wie "häfte" ich dann beispielsweise das Pärchen urlaub:urlaub (Profil und Topic urlaub) an badezimmer an? Macht man das mit Referenzierungen?
3. Kann ein Profil mehrere Topics haben? Sowas wie badezimmer:homeoffice und badezimmer:sommer?
3. B): Die Idee ist dann, das das Profil badezimmer:Topic-default meinen default-Heizplan fürs badezimmer enthält und im Topic Sommer sind überall 2 Grad eingetragen was mit "nicht heizen" gleichkommen würde.
4. Fürs Kinderzimmer würde ich dann den heizplan kinderzimmer:Topic-default anlegen und im Sommer das Topic sommer zuordnen?
Sorry .....

Beta-User

Zitat von: Beta-User am 15 Dezember 2020, 15:04:20
Ein effektives "Wochenpofil" wird bei weekprofile@useTopic immer durch das Duo "topic:entity" identifiziert.
Es sollte daher "urlaub:badezimmer" "homeoffice:badezimmer" und "sommer:badezimmer" usw. sein.

Du kannst dabei die Profile beliebig kopieren und referenzieren, ich verweise dazu nochmal auf die Beispiele in meinem Thread (die leider aber auch "verdreht" sind, wie schon erwähnt):
Zitat von: Beta-User link=topic=116719.msg1110780#msg1110780Vielleicht hilft dir mein "Umstellungsbeispiel" betr. CUL_HM/HMinfo weiter, da sind die Namen entwas sprechender: https://forum.fhem.de/index.php/topic,97430.msg1100788.html#msg1100788
Aber Achtung: unbedingt auch den Folgebeitrag beachten, im Ausgangspost war ein gedanklicher "Dreher" drin!
Also "sommer:kinderzimmer" mit/als "reference_profile" erzeugen (aber 2 Grad wird vermutlich nicht klappen, weil das Ziel das letztendlich nicht akzeptieren wird (oder ist das in der Spec?) und die Experten streiten sich, ob "on" oder "off" wegen des Verkalkungsthemas denn die bessere Zieltemperatur ist...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hi,
irgendwie hilft mir das nicht weiter .... Scheint sehr kompliziert zu sein ...
wie bekomme ich denn nun zu dem Profil badezimmer ein Topic Sommer dazu? Geht das nur über Referenzierungen?

Beta-User

Nein. Einfach auf das "Plus" klicken, und dann eben Topic und Namen passend vergeben (statt nur den Namen)...

Hier mal ein paar screenshots, auf dem einen ist dann auch zu erkennen, wo man den Haken für eine Referenzierung zum aktuellen Profil setzen kann.

Danach das betreffende topic:entity-Paar auswählen und bearbeiten (Klick auf die Rädchen, geht dann aber nur bei "echten" Kopien).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

morfey

Hi,

habe nun mal den Titel geändert, in den Diskussionen geht es ja mittlerweile um etwas anderes.
Sorry, aber für mich ist es komplett unverständlich warum ich Topics verwenden sollte, wenn ich doch einfach ein profil kopieren und dann aktivieren kann. Welchen Mehrwert gibt es mit Topics? So wie ich das verstehe, kann ich einem Profil nur einem Topic zuordnen und dann könnte ich auch enfach mehrere profile verwenden. Dann würde ich mir ein Profil für badezimmer anlegen und ein Profil für urlaub. Dann könnte ich einfach das Profil urlaub über weekdaytimer aktivieren, wenn ich das möchte. wenn ich mehrere profile wie badezimmer, kinderzimmer, wohnzimmer, etc. habe muss ich auch mehrere änderungen machen oder etwa nicht? wie kann ich denn bei mehreren Profilen gleichzeitig das Topic urlaub aktivieren? das Anlegen habe ich ja nun verstanden, allerdings ist unklar, wie ich mehrere Zuordnungen treffe ...

Sorry! aber so ist es mir leider noch zu unklar.