Modul weekprofile + FHEMWEB widget

Begonnen von Risiko, 23 Dezember 2015, 20:16:54

Vorheriges Thema - Nächstes Thema

db0b23b

Hallo zusammen,

ich finde die Wochenprofilverwaltung gut, aber meine Heizkörperthermostate sind nicht kompatibel zu weekprofile (Comet DECT an einer Fritzbox).

Die Steuerung der Thermostate würde ich aber gerne aus der Fritzbox nach FHEM verlagern. Erreichen kann ich sie schon (über FBDECT).

Meine Frage: Kann weekprofile an jedem Schaltzeitpunkt ein event auslösen, welches ich dann mit notify fangen und an den Heizkörper senden kann?

Würde weekprofile für alle Heizkörper- (oder Lichtsteuerungen, 'Temperatur' dann als z. B. dim-Wert) etc. als Basis erlauben.

event-Struktur etwa:

2018-09-01 14:38:33 weekprofile <device> <Profilname> <ab jetzt gültige Temperatur>

Wäre echt super.

Vielen Dank

db0b23b

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Risiko

Zitat von: db0b23b am 01 September 2018, 14:44:43
Hallo zusammen,

Meine Frage: Kann weekprofile an jedem Schaltzeitpunkt ein event auslösen, welches ich dann mit notify fangen und an den Heizkörper senden kann?
db0b23b
Hallo db0b23b,

dafür war und ist weekprofile nicht vorgesehen. Das sollten schon die Devices selbst machen.
Ggf. kann man über eine Unterstützung von Heating Control nachdenken.

Risiko

RoBra81

Ich bin der Meinung, die Heizungssteuerung sollte nicht FHEM (oder eine andere Zentrale) übernehmen, sondern die sollte so "nah" wie möglich am Thermostat erfolgen. Fhem "darf" durchaus Temperaturprofile erstellen und an das Thermostat senden oder auch mal in einem Sonderfall überschreiben (zum Beispiel eine Feier) aber wenn fhem die komplette Steuerung übernimmt hieße ein Ausfall der Zentrale, dass es in der Wohnung kalt (oder warm) bleibt...

Ronny

Gesendet von meinem SM-G935F mit Tapatalk


amenomade

Zitat von: RoBra81 am 02 September 2018, 18:45:42
Ich bin der Meinung, die Heizungssteuerung sollte nicht FHEM (oder eine andere Zentrale) übernehmen, sondern die sollte so "nah" wie möglich am Thermostat erfolgen. Fhem "darf" durchaus Temperaturprofile erstellen und an das Thermostat senden oder auch mal in einem Sonderfall überschreiben (zum Beispiel eine Feier) aber wenn fhem die komplette Steuerung übernimmt hieße ein Ausfall der Zentrale, dass es in der Wohnung kalt (oder warm) bleibt...

Ronny

Gesendet von meinem SM-G935F mit Tapatalk
Da hast Du recht. Leider unterstützten die FritzBox und die Fritz!Dect Thermostate es nicht. Man kann zwar Wochenprofile in der Fritzbox einstellen, aber die stehen nicht in der API zur Verfügung, und sind dann nicht mit FHEM steuerbar.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

db0b23b

Vielen Dank, ich schaue mir mal Heating_Control an und wie das mit einer einfachen Rückfallsteuerung (reine Nachtabsenkung) in der FritzBox harmoniert.

db0b23b


Vrob01

Zunächst mal danke für das tolle Modul!

Ich habe aber leider ein Problem dabei, meine MAX-Thermostate per weekprofile auf "off" (=4.5°C) zu setzen, da ich beim setzen des Profils immer die Fehlermeldung
Zitatweekprf error restore topic 'Invalid temperature (Must be one of: off|on|5|5.5|6|6.5..30) '
erhalte.

Mein weekprofile widget definiere ich so:

define weekprf weekprofile
attr weekprf room MAX
attr weekprf tempOFF 4.5
attr weekprf tempON 30.5
attr weekprf useTopics 1


Und zum Testen habe ich einen denkbar simplen Wochenplan :D

{
"Sun":{"time":["24:00"],"temp":["off"]},
"Mon":{"temp":["off"],"time":["24:00"]},
"Wed":{"temp":["off"],"time":["24:00"]},
"Sat":{"temp":["off"],"time":["24:00"]},
"Thu":{"time":["24:00"],"temp":["off"]},
"Fri":{"time":["24:00"],"temp":["off"]},
"Tue":{"temp":["off"],"time":["24:00"]}
}


Jemand eine Idee?
Vielen Dank!

HeikoE

Zitat von: Vrob01 am 13 September 2018, 12:46:17
...
weekprf error restore topic 'Invalid temperature (Must be one of: off|on|5|5.5|6|6.5..30) '
...

...
attr weekprf tempON 30.5
...



Bin nicht sicher, da ich kein MAX einsetze, aber die Fehlermeldung hat als letzten Wert 30, Du definierst tempON mit 30.5!
Setz da mal 30 ein
Gruß Heiko

Vrob01

Das habe ich schon probiert, dann setzt er die Temperatur zwar korrekt auf 30.0°C (oder 5°C), aber eben nicht auf on/off. Bei MAX sind die Werte 4.5°C und 30.5°C spezielle Werte mit denen die Thermostate dauerhaft auf 0% bzw. 100% Öffnung gesetzt werden können

LHBL2003

#444
Hallo Risiko,

die Winterzeit geht wieder los :)
Also ich habe mein Fhem auf den aktuellen Stand gebracht und auch festgestellt das du einige Anpassungen im Skript vorgenommen hast u.A. ist auch die Zeile verschwunden die mir damals immer eine Fehlermeldung ausgeworfen hat.
(Raspberry PI + HomeMatic Gateway)

Nun jetzt habe ich die Tage mein Wintermodus (Arbeit) aktiviert.
Allerdings fällt mir wieder auf das wie auch bei Soc nicht alle Thermostate bzw. Wandthermostate auf einen Schlag die Daten bekommen.
Sondern das ich den Button "Restore topic: 'Arbeit' " alle x Minuten mal drücken muss bis alle Daten übertragen wurden.
Hallt dann wenn ich sehe, das im Event Monitor nicht mehr passiert.

Sicherlich kennst du das Problem schon. Hast du dafür eine Begründung?
Hast du einen Vorschlag um das Problem zu unterbinden?

Auch wenn ich in jedem Datensatz die 23° auf 24° ändere, also nicht ein komplett anderes Profil lade, benötige ich mehrere Anläufe.

Ich habe in meinem Profil Arbeit, 10 Sub Profile.

Arbeit
   EG_Bad --> (1x HomeMatic Thermostat)
   EG_Buero --> (1x HomeMatic Thermostat + 1x HomeMatic Wandthermostat)
   EG_Flur --> (HomeMatic Thermostat + 1x HomeMatic Wandthermostat)
   EG_WohnEsszimmer --> (2x HomeMatic Thermostat + 1x HomeMatic Wandthermostat)
   KG_Bad --> (1x HomeMatic Thermostat)
   OG_Bad_HK1 --> (1x HomeMatic Thermostat)
   OG_Bad_HK2 --> (1x HomeMatic Thermostat)
   OG_Gaestezimmer --> (1x HomeMatic Thermostat + 1x HomeMatic Wandthermostat)
   OG_Kinderzimmer --> (1x HomeMatic Thermostat + 1x HomeMatic Wandthermostat)
   OG_Schlafzimmer --> (1x HomeMatic Thermostat + 1x HomeMatic Wandthermostat)

Mit je etwa 5 Zeiten/Temperaturen pro Tag.

Bei allen Thermostaten ist das Attribut hinterlegt, so das auf denen die Profile geladen werden sollen. (Siehe auch cfg Datei im Anhang.)

#### Nachtrag:
Ok ich habe mal die Logs durchgeschaut: MUARTLGW HomeMaticLGW: queue is full, dropping packet
Also ist das Problem, das es zu viele Daten auf einmal sind. Könnte man nicht dann im Skript eine Wait Logik bauen, die dann immer ein Paar Datensätze überträgt übermittelt und dann nach einer Einstellbaren Zeit die nächsten Datensätze losschickt?
Das würde doch das Problem aushebeln.
Liber soll es 10 oder 20 Minuten die einzelnen abarbeiten, als das man ab und an nachschauen muss ob alle Daten übermittelt wurden.

Wäre das kein Lösungsansatz?
######


Zitat von: Soc am 23 April 2018, 16:24:16
Wäre toll wenn Du das machen könntest.

Mir ist noch was aufgefallen.
Ich habe 7 HM Heizungsthermostate und für alle habe ich das Modul eingebunden.
Wenn ich die Werte anpassen will, dann wird das selten durchgeführt.
Beim ändern von einen Wert geht es öfter; beim ändern von mehreren Werten kaum.

Habe noch keine Logik entdecken können wann es geht bzw. nicht geht.
Ändere ich einen Wert, dann muss ich ihn ein paarmal ändern bevor die Änderng an das Thermostat geschickt wird.

Risiko

Hallo LHBL2003,

nein, ich kenne das Problem nicht - vielleicht habe ich es aber auch nicht richtig verstanden ;)
Ich habe nur MAX und da kann man dem Modul stätig neue Sachen senden. Das Modul selbst scheint eine Queue zu haben und sendet nur bei vorhandenen Credits die Daten an die Thermostate weiter.
Das Problem liegt meiner Meinung also am HomeMatic Gateway. Scheinbar kann der die Daten nicht richtig verarbeiten bzw. puffern. Du solltes hier meiner Meinung auch mal nachfragen.

Dein Lösungsvorschlag würde bestimmt helfen, wenn der Gateway zumindest Daten von einem komplette Wochenprofil verarbeiten kann. Könnte mir vorstellen (wenn du beim Homatic Modulentwickler nichts erreichst), zwischen dem Senden der einzelnen Wochenprofile eine Wartezeit ein zu bauen. Die zu sendeten Daten pro Wochenprofil nochmal zu splitten, sehe ich als zu aufwendig an. Das Ganze sehe ich aber nur als Workaround. Das Problem sollte dort gelöst werden, wo es auftritt.

Risiko

andy_lox

Hi, erstmal danke für das Hilfreiche Modul. Leider verlieren alle meine Max Thermostate ihr Weekprofil nach einem neustart vom FHEM. Wie muss ich es einstellen, damit das nciht passiert. ich brauche eigentlich nicht für jedes Thermostat ein eigenes Profil, deshlab habe ich die auch nciht direkt zugeprdnet sondern sende die immer zu dem jeweiligen Gerät. Ist das also works as designed oder doch ein Fehler?


kadettilac89

sind die werte an sich noch in der übersicht? oder ist das widget komplett leer? das modul schreibt im fhem-logverzeichnis für die profile eine datei. sind die vorhanden, habe die ggf. falsche berechtigungen?

wie sieht das "verlieren" aus? ich nutze homematic, die logik sollte aber identisch sein. mein fhem behält auch nach restart alles was benötgit wird.

LHBL2003

Probier mal Antwort 1 aus (also den zweiten Eintrag)
Wenn es ein rechte Problem ist, hilft das bei mir immer.

https://forum.fhem.de/index.php?topic=12037.0

andy_lox

#449
Danke für die Antworten, also die Werte fehlen wirklich in jedem Gerät in der Ansicht bis ich sie manuell wieder gesendet habe. Mir fällt grade ein, dass das erst so ist, seit ich den Max Cube als CUNO geflast habe und betreibe. Vorher hatte ich das Problem nicht. Denke also an Rechten kann es nicht liegen, denn das FHEM ist noch das gleiche. Werde das aber trotzdem mal prüfen.

Könnt ihr mir sagen wo genau FHEM diese Infos aus den Max Thermostaten speichert? Da ich mit einer speziellen Linux Version für mein Smarthome arbeite und das FHEM selbst nur ein Modul darin ist, würde ich mal gern die Berechtigungen auf diese Dateien prüfen.
Komisch ist halt, dass alle anderen Dinge gespeichert bleiben die ich im FHEm habe.

Also das Thema ist gelöst, problem war, dass die FHEM.save im Log verzeichnis lag und dieses beim Reboot gelöscht wurde. Verschoben an einen anderen Ort und alles war gut!