FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Manley am 31 März 2018, 18:09:03

Titel: Dummy State per Notify und Setbefehl übergeben
Beitrag von: Manley am 31 März 2018, 18:09:03
Hi Leuts.
Ich versuche über einen Dummy, in den ich ein Datum setze, meine Heizung (MAX) in den Urlaubsmodus zu versetzen.
Mittlerweile weiß ich, daß ich PERL zur Hilfe nehmen muss.
Mein Notify sieht bis jetzt so aus.
hz_Urlaubsmodus set Heizung_test desiredTemperatur manual 17 until { InternalVal(hz_Urlaubsmodus,STATE) } 12:00
Es soll einfach nur das Datum (STATE vom Dummy) in den Setbefehl eingefügt werden. Aber PERL ist für mich immer noch ein Buch mit sieben Siegeln :(

Ich hoffe ihr könnt mir weiterhelfen.

MfG
Manley
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: CoolTux am 31 März 2018, 18:27:07
Zitat von: Manley am 31 März 2018, 18:09:03
Hi Leuts.
Ich versuche über einen Dummy, in den ich ein Datum setze, meine Heizung (MAX) in den Urlaubsmodus zu versetzen.
Mittlerweile weiß ich, daß ich PERL zur Hilfe nehmen muss.
Mein Notify sieht bis jetzt so aus.
hz_Urlaubsmodus set Heizung_test desiredTemperatur manual 17 until { InternalVal(hz_Urlaubsmodus,STATE) } 12:00
Es soll einfach nur das Datum (STATE vom Dummy) in den Setbefehl eingefügt werden. Aber PERL ist für mich immer noch ein Buch mit sieben Siegeln :(

Ich hoffe ihr könnt mir weiterhelfen.

MfG
Manley

Gemessen an Deinem Code würde ich auf Schizophrenie tippen  ;D
Was genau soll gemacht werden.
Wenn ich mir viel Mühe gebe und mich dem Freutischen hingeben würde ich sagen es soll die Heizung auf 17 Grad gestellt werden wenn es nicht 12 Uhr ist und so lange bis Zwölf oder die Schleife ??? Keine Ahnung
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: eisman am 31 März 2018, 18:33:55
hi,

hatte ein ähnliches Problem und habe es so gelöst...


defmod RO01ZE DOIF ([[Arbeitszimmer:rollo-zeit-auf]-[Arbeitszimmer:rollo-zeit-zu]] and [Arbeitszimmer:rollo-mode] eq "auto") ({Rollo("Arbeitszimmer","RO01","off")})\
DOELSEIF \
([[Arbeitszimmer:rollo-zeit-zu]-[Arbeitszimmer:rollo-zeit-auf]] and [Arbeitszimmer:rollo-mode] eq "auto") ({Rollo("Arbeitszimmer","RO01","on")})\
DOELSEIF\
([{sunrise("REAL",0,"[Arbeitszimmer:rollo-zeit-auf]","10:00")}] and [Arbeitszimmer:rollo-mode] eq "sonne") ({Rollo("Arbeitszimmer","RO01","off")})\
DOELSEIF\
([{sunset("REAL",0,"16:00","[Arbeitszimmer:rollo-zeit-zu]")}] and [Arbeitszimmer:rollo-mode] eq "sonne") ({Rollo("Arbeitszimmer","RO01","on")})
attr RO01ZE cmdState auf|zu|auf|zu
attr RO01ZE devStateStyle style="color:skyblue;;font-weight:bold;;text-align:right;;"
attr RO01ZE group Rollladen.Zeit
attr RO01ZE icon fts_shutter_automatic@FAB6B6
attr RO01ZE room rollladen,Arbeitszimmer



die Zeiten sind aus einem Dummy
vieleicht kann man das abändern

gruss
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: Manley am 31 März 2018, 18:37:10
Im Dummy stelle ich das Datum ein, bis zu welchem die Heizkörper in den Urlaubsmodus gehen sollen.

Der Befehl setzt den einen Thermostaten bis zum Datum um 12:00 bei 17 Grad in den Urlaubsmodus.
set Max_xxxxx desiredTemperature manual 17 until 10.04.2018 12:00

Oben habe ich einen Dummy namens Heizung_test benutzt um das Notify zu testen.
Da kommst später mein structure rein der dann alle Heizkörper anspricht.
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: Manley am 31 März 2018, 18:42:33
Danke eisman.
Leider nützt mir das nichts. Ich muss die Zeiten nicht nur auslesen, sondern übergeben.
Ich hatte erst mit $EVENT gearbeitet. Leider wird dann nur das Auslösende Event weitergegeben.
Ich zeig euch lieber nochmal meinen Dummy.
Vielleicht gibt es ja eine einfachere Lösung die schon beim Vorgeben des Datums ansetzt.
defmod hz_Urlaubsmodus dummy
attr hz_Urlaubsmodus group Heizung
attr hz_Urlaubsmodus readingList DD MM YYYY
attr hz_Urlaubsmodus room 9.4_Tests
attr hz_Urlaubsmodus setList DD:01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 MM:01,02,03,04,05,06,07,08,09,10,11,12 YYYY:2018
attr hz_Urlaubsmodus stateFormat DD:MM:YYYY
attr hz_Urlaubsmodus webCmd DD:MM:YYYY
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: CoolTux am 31 März 2018, 18:43:34
Zitat von: Manley am 31 März 2018, 18:37:10
Im Dummy stelle ich das Datum ein, bis zu welchem die Heizkörper in den Urlaubsmodus gehen sollen.

Der Befehl setzt den einen Thermostaten bis zum Datum um 12:00 bei 17 Grad in den Urlaubsmodus.
set Max_xxxxx desiredTemperature manual 17 until 10.04.2018 12:00

Oben habe ich einen Dummy namens Heizung_test benutzt um das Notify zu testen.
Da kommst später mein structure rein der dann alle Heizkörper anspricht.

OK, dann versuchen ich das mal


hz_Urlaubsmodus set Heizung_test desiredTemperatur manual 17 until [hz_Urlaubsmodus] 12:00

Das Teil in den eckigen Klammern nennt sich setMagic und fügt so geschrieben den state des Devices hz_Urlaubsmodus in den set Befehl ein.
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: eisman am 31 März 2018, 18:46:53
hi,

https://wiki.fhem.de/wiki/DOIF/Zeitspanne_zwischen_zwei_Terminen_schalten (https://wiki.fhem.de/wiki/DOIF/Zeitspanne_zwischen_zwei_Terminen_schalten)

wäre vieleicht das richtige

gruss
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: CoolTux am 31 März 2018, 18:47:28
Mache bitte ein list vom Dummy

list hz_Urlaubsmodus

In der FHEMWEB Befehlszeile
Titel: Antw:Dummy State per Notify und Setbefehl übergeben
Beitrag von: Manley am 31 März 2018, 18:52:38
SetMagic. Na klar.
Das mir das nicht eingefallen ist.
Damit arbeite ich um mir den Status einiger Devices per Telebot zu schicken.
Allerdings musste ich es noch abwandeln in
hz_Urlaubsmodus set Heizung_test desiredTemperatur manual 17 until [hz_Urlaubsmodus:STATE] 12:00

Danke an alle.