structure state ändert sich nicht.

Begonnen von Littlefreddy, 15 Januar 2015, 19:32:58

Vorheriges Thema - Nächstes Thema

Littlefreddy

Hallo zusammen,

Ich möchte gerne meine Heizung mit Hilfe einer Anwesenheitssterung schalten.
Ich habe die PRESENCE schon erstellt, einzeln laufen sie auch erstaunlich gut.

Zitat
define WohnzimmerTVStatus PRESENCE lan-ping <interne IP> 60
attr WohnzimmerTVStatus userattr anwesend anwesend_map structexclude
attr WohnzimmerTVStatus anwesend st_anwesenheit
attr WohnzimmerTVStatus event-on-change-reading 1
attr WohnzimmerTVStatus fp_Gesamt 380,30,1,
attr WohnzimmerTVStatus ping_count 2
attr WohnzimmerTVStatus room Status,Wohnzimmer
define HandyFreund PRESENCE lan-ping <interne IP> 60
attr HandyFreund userattr anwesend anwesend_map structexclude
attr HandyFreund anwesend st_anwesenheit
attr HandyFreund event-on-change-reading 1
attr HandyFreund fp_Gesamt 280,30,1,
attr HandyFreund ping_count 2
attr HandyFreund room Status
define PCFreund PRESENCE lan-ping <interne IP> 60
attr PCFreund userattr buero buero_map structexclude
attr PCFreund buero st_geraeteBuero
attr PCFreund event-on-change-reading 1
attr PCFreund ping_count 2
attr PCFreund room Status
define HandyFreundin PRESENCE lan-ping <interne IP> 60
attr HandyFreundin userattr anwesend anwesend_map structexclude
attr HandyFreundin anwesend st_anwesenheit
attr HandyFreundin event-on-change-reading 1
attr HandyFreundin fp_Gesamt 330,30,1,
attr HandyFreundin ping_count 2
attr HandyFreundin room Status
define Playstation4 PRESENCE lan-ping <interne IP> 60
attr Playstation4 userattr buero buero_map structexclude
attr Playstation4 buero st_geraeteBuero
attr Playstation4 event-on-change-reading 1
attr Playstation4 fp_Gesamt 430,30,1,
attr Playstation4 ping_count 2
attr Playstation4 room Status

Damit die Heizung einschaltet sobald jemand anwesend ist, habe ich ein Structure erstellt, bzw. zwei damit ich zwei Räume unterschiedlich schalten kann.

Zitat
define st_anwesenheit structure anwesend HandyFreund HandyFreundin WohnzimmerTVStatus
attr st_anwesenheit clientstate_behavior relative
attr st_anwesenheit clientstate_priority present absent
attr st_anwesenheit event-on-change-reading 1
attr st_anwesenheit room Status

define st_geraeteBuero structure buero Playstation4 PCFreund
attr st_geraeteBuero clientstate_behavior relative
attr st_geraeteBuero clientstate_priority present absent
attr st_geraeteBuero event-on-change-reading 1
attr st_geraeteBuero room Status

Das heißt sobald HandyFreund oder HandyFreundin oder WohnzimmerTVStatus erkannt wird soll die structure st_anwesenheit den Status present kriegen, aber erst wenn wirklich alle Geräte nicht mehr erreichbar sind den Status absent. damit diese nicht sofort absent geht bei einem kleinen hoppala, ist ein watchdog drauf gesetzt

Zitatdefine w_zuhause watchdog st_anwesenheit:absent 00:03:00 st_anwesenheit:undefined set Wz_Heizung_Clima controlMode auto

Gleiches gilt für die Structure st_geraeteBuero allerdings ohne den Watchdog.

Zitat
# ----------- Heizung Arbeitszimmer ------------
# ------ Heizung einschalten wenn PC oder Playstation eingeschaltet wird -------
define HeizungAnbeimzocken notify st_geraeteBuero:present set Az_Heizung_Clima desired-temp 22.5;; set Az_Heizung burstXmit

# ------ Heizung ausschalten wenn PC und Playstation ausgeschaltet werden -------
define HeizungAusnachzocken notify st_geraeteBuero:absent set Az_Heizung_Clima controlManu off;; set Az_Heizung burstXmit

# ----------- Heizung Wohnzimmer ------------
# Heizung auf Auto wenn ALLE Abwesend
define Wz_HeizungAus notify st_anwesenheit:absent set Wz_Heizung_Clima controlMode Auto;; set Wz_Heizung burstXmit

# Heizung An wenn jemand Anwesend
define Wz_HeizungAn notify st_anwesenheit:present set Wz_Heizung_Clima desired-temp 22.5;; set Wz_Heizung burstXmit

nun habbe ich aber das Problem das die structure den state nicht ändern wenn die Geräte den State ändern.
die st_geraeteBuero z.B. kriegt nichtmal mit das der PC eingeschaltet wird, das PRESENCE aber schon. gleiches gilt für st_anwesenheit.
HAt da jemand nen Tip für mich? Muss ich ggf. das "event-on-change-reading 1" aus den PRESENCE raus nehmen damit die Structure richtig schaltet? da ich nun bei PRESENCE und STRUCTURE nen "event-on-change-reading 1" drin habe. ich verzweifel hier noch. Für mich sieht das alles in Ordnung aus aber es macht einfach mal nichts ... Wenn das nicht will, muss ich wohl wieder zurück auf die Version ohne Structure :-(

Littlefreddy

okay macht natürlich sinn das "event-on-change-reading 1" auch mit dem reading zu benennen... "event-on-change-reading state" So klappts auch mit dem Nachbarn...
denke ich.. Ich werde das jetzt mal durchtesten

Badflex

Ich hab das mit den Heizungsregler ähnlich gelöst. Wenn jemand nach hause kommt stellen die Regler sich auf Auto und wenn niemand zuhause auf 16C.
Das Programm dabei sind die Temperaturlisten die eingestellt sind.
Ist das Haus leer und die Heizungen gehen auf 16C, aber 5 Minuten später sagt die Temperaturliste 21C schaltet das ding wieder hoch.
Beim Nach hause kommen halt umgekehrt. Die Heizungen schalten dann erst wieder beim nächsten Schaltpunkte.

Hat jemand ne Idee wie man das umgehen kann?

Danke
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo