NEWS
Heizung mit Nachtabsenkung und Anwesenheitsprüfung
-
Hallo zusammen,
ich ziehe gerade um und habe mich in diesem Zuge entschlossen, von FHEM auf ioBroker zu wechseln.
Ich kämpfe mit Blockly einen bisher aussichtslosen Kampf. Was in FHEM mit einem einfachen DOIF machbar war stellt mich hier vor ein massives Problem.
Ich möchte meine drei Heizkörperthermostate (homematicIP) auf 22°C stellen, wenn jemand zuhause ist, das aber nur von 6 - 23 Uhr. Ich habe mir hier was zusammengeklöppelt, was zur hälfte funktioniert.
Wenn ich aus dem WLAN bin reagiert es erwartungsgemäß, die Uhrzeit interessiert aber in keine Weise. Was mache ich falsch?VG A
-
@arne-schuch sagte: Was mache ich falsch?
Es fehlen Zeitplan-Trigger um 6:00 Uhr und um 23:00 Uhr.
Vorschlag: -
@paul53 Kurz zusammengefasst: äääh, ja
Was zur Hölle ist das? Sorry, will die nicht zu nahe treten aber DAS ist die Lösung? Was passiert da in dem oberen Teil und warum?
-
@arne-schuch
Er hat die drei Events, die Deine Heizung steuern, aufgelistet:- Anwesenheit ändert sich -> Heizung auf Soll/Absenktemperatur je nach Uhrzeit
- 06:00 -> Heizung auf Soll/Absenktemperatur je nach Anwesenheit
- 23:00 -> Heizung auf Absenktemperatur
Im rechten Teil erfolgt dann die Auswertung und Ansteuerung.
In Deinem Script gibt es nur die Anwesenheit als Trigger.
Beispiel: Du liegst 05:55 im Bett. Um 6:05 ist die Heizung immer noch auf Absenkung,
da sich die Anwesenheit nicht geändert hat und Dein Script zwischen 5:55 und 6:05 gar nicht getriggert wird.
Wie sähe das DOIF in FHEM aus? -
@arne-schuch Ein anderer Vorschlag wäre ein Adapter.
Mit dem Adapter HeatingControl funktioniert die Heizungsteuerung so wie von dir gewünscht.
Bei mir läuft er ganz gut.Oder du nimmst die Profile von HmIp und schaltest nur bei Anwesenheit um.
So hatte ich es zuerst. -
@jan-s100 Okay, das gucke ich mir mal an. Danke!
-
@ente34
Ich hab sie inzwischen gelöscht aber sinngemäß:
DOIF ([23:00 - 06:00] or [AdF4_Residents:state] ne "home") (set WHG_Heizungen 18)
DOELSEIF ([AdF4_Residents:state] eq "home") (set WHG_Heizungen 22)
Bin mir nicht sicher, ob das genau so hatte, müsste aber hinkommen.
Am Ende sollte sogar ein
DOELSE (set WHG_Heizungen 22)
reichen. -
@arne-schuch
Für alles, was in der DOIF_Bedingung ist, müssen Trigger angelegt werden. Für den Zeitbereich 23:00 bis 6:00 Uhr auch, s. Paul's Script.
Den kompakten Syntax von FHEM habe ich schon an anderer Stelle gelobt (ist natürlich Geschmacksache) -
@ente34 sagte: Für alles, was in der DOIF_Bedingung ist, müssen Trigger angelegt werden.
Hier eine Version ohne Variable "anwesend": Die Prüfungen erfolgen in der Funktion setTemp().
-
@paul53 Ich hab Ihre Schaltung mal nachgebaut, nur leider funktioniert Sie bei mir irgend wie nicht .
Wenn Sie da helfen könnten wäre das super. -
@grossek
Dem Trigger links oben ist keine ID zugewiesen: "Alle Abwesend"
Ich würde nicht jede Minute von 6:00 bis 6:59 Uhr und 23:00 bis 23:59 Uhr triggern. -
@paul53 ok und was muss ich jetzt ändern ? das verstehe ich nicht so ganz
Mein Handy ist doch das Objekt welches für die Anwesenheit Zuständig ist -
@grossek sagte: Mein Handy ist doch das Objekt welches für die Anwesenheit Zuständig ist
Das Handy ist nicht zugewiesen, denn es steht dort immer noch "Objekt ID".
Ist der Datenpunkt bei Anwesenheit true oder bei Abwesenheit? -
Ok ich hab es jetzt auch da zugewiesen, aber irgendwie funktioniert immer noch nichts
-
@grossek sagte: irgendwie funktioniert immer noch nichts
Es funktioniert nichts oder falsch herum (10°C bei Anwesenheit)?
Das Skript ist aktiviert und hoffentlich nicht unter der Gruppe "global" erstellt? -
@grossek
Mache es mal so: -
@paul53 sagte in Heizung mit Nachtabsenkung und Anwesenheitsprüfung:
Das Skript ist aktiviert und hoffentlich nicht unter der Gruppe "global" erstellt?
Hab das nachgebaut und läuft. Danke!
Ich verstehe so halbwegs, was da passiert. Ich habe das Script allerdings unter "global" angelegt. Ist das ein Problem? Kann ich das irgendwie nach "common" verschieben oder muss ich ex-/importieren? -
@arne-schuch sagte: Ich habe das Script allerdings unter "global" angelegt. Ist das ein Problem?
Ja, das ist ein Problem, da globale Skripte in jedes andere (nicht globale) Skript kopiert und dort ausgeführt werden.
@arne-schuch sagte:
muss ich ex-/importieren?
Eine andere Möglichkeit kenne ich nicht.
-
@paul53 Danke, hab ich so umgebaut.
-
@arne-schuch Ich hab diese Schaltung jetzt mal nachgebaut
diesmal ist überhaupt nichts im Protokoll zu sehen aber dafür im LOG
jetzt mal ganz blöd gefragt muss ich für diese Schaltung auch einen Datenpunkt erstellen?
Oder ist es so wie ich es gerade aus dem skript lese das wenn das handy Wahr ist schaltet er das Comet Dect auf den Gewünschten wert welchen ich im Skript hinterlegt habe ,das alles natürlich nur zur vorgegebenen Zeit