Virtueller "Taster" für HM-CC-RT-DN

Begonnen von daheim, 05 März 2014, 16:41:31

Vorheriges Thema - Nächstes Thema

strauch

Das hängt davon ab, wer weg ist. Geht ein Kind, geht nur dort die Heizung aus. Die Heizung im Wohnzimmer geht nur aus, wenn keiner da ist, und sobald einer da ist geht sie wieder an. Das löse ich über ein Structure. Ich habe für jedes Smartphone ein presence angelegt und dann ein structure:

define presence_AlleSmartphones structure room presence_Smartphone1 presence_Smartphone2
attr presence_AlleSmartphones clientstate_behavior relative
attr presence_AlleSmartphones clientstate_priority Any_On|present All_Off|absent
attr presence_AlleSmartphones event-on-change-reading state
attr presence_AlleSmartphones room _Presence


Wobei ich sagen muss, nach dem structure das room, hab ich einfach eingefügt, man muss die Art definieren, ich hab keine Ahnung warum und wozu, es klappt halt so. Ich hab es nicht verstanden.

Ein notify überwacht presence_AlleSmartphones und schaltet dann halt bei All_Off auf ControlMode night und bei All_On auf ControlMode day.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

Hallo strauch,

wie hast du das realisiert? Per Ping oder per GEO?

Ich bin am überlegen ob ich das besser per GEO realisiere.

Wenn ich dich richtig verstehe muss ich pro Handy ein PRESENCE anlegen und auch dann beide zusammenfügen?!

strauch

Zitat von: daheim am 11 März 2014, 13:11:56
wie hast du das realisiert? Per Ping oder per GEO?

Ich mach es per Ping, geht bei Android Telefonen am einfachsten. Fürs iPhone entweder GEO oder Fritzbox verwenden. Wobei die Fritzbox vermutlich am Akkuschonensten ist.

Zitat von: daheim am 11 März 2014, 13:11:56Wenn ich dich richtig verstehe muss ich pro Handy ein PRESENCE anlegen und auch dann beide zusammenfügen?!

genau
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

Hallo Strauch,

irgendwie steige ich gerade nicht durch deinen Quellcode durch.
Habe es jetzt soweit, wenn ein iPhone nach Hause kommt geht die  Heizung in DAY mode beim zweiten auch, nur wenn eins geht und das andere da bleibt geht die Heizung in NIGHT mode...

Kannst du mir noch mal auf die Sprünge helfen?

strauch

Ich versuchs, ansonsten poste mal deinen Code. Ich habe es so gelöst:

Presence für die beiden Smartphones:
define presence_Smartphone1 PRESENCE lan-ping 192.168.1.101 240 480
attr presence_Smartphone1 event-on-change-reading state


define presence_Smartphone2 PRESENCE lan-ping 192.168.1.102 240 480
attr presence_Smartphone2 event-on-change-reading state


Structure um beide Smartphones in ein "Objekt" zu packen. (wichtig ist hier das richtige clientstate siehe commandref)
define presence_AlleSmartphones structure room presence_Smartphone1 presence_Smartphone2
attr presence_AlleSmartphones clientstate_behavior relative
attr presence_AlleSmartphones clientstate_priority Any_On|present All_Off|absent
attr presence_AlleSmartphones event-on-change-reading state
attr presence_AlleSmartphones room _Presence


Watchdog um zu schauen ob noch jemand da ist, wenn keiner mehr für 15min zu erreichen ist wird abgeschaltet:
define watchdog_AlleSmartphones_Unterwegs watchdog presence_AlleSmartphones:All_Off 00:15 presence_AlleSmartphones:Any_On set Heizung controlManu night;;setstate  watchdog_AlleSmartphones_Unterwegs defined
attr  watchdog_AlleSmartphones_Unterwegs regexp1WontReactivate 1


Und der Notify wenn einer wieder da ist, der die Heizung wieder anschaltet:
define notify_EinSmartphone_Zuhause notify presence_AlleSmartphones:Any_On set Heizung controlManu day
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

#20
Hallo strauch,

danke für deine Hilfe. Klappt prima.

Frage hast du noch eine Idee, wie ich ein weiteres smatphone zeitgesteuert auf present setzen kann.

Beispiel in der zeit von 5-6 und 17-22 uhr present  sonnst absent?

Bzw. wie sage ich das die Zeit von 22-5 uhr nuer der Zeitplan Night aktiv sein soll?

strauch

Also ich arbeite bei mir nicht mit day und night sondern mit controlMode auto und controlManu 17.0 und jeder hat ein Programm laufen so geht die Heizung auch gut wenn fhem ausfällt.
Ansonsten könntest du einfach mit einem timer (at) Abends auf nightemp schalten und morgens wieder auf day. Evtl. In der Zeit das notify deaktivieren ebenfalls über den gleichen at.

Gesendet von meinem Nexus 4 mit Tapatalk
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

hast du eine idee wie das mit dem timer geht. das ich diese def für iphone ping nur in einer bestimmten zeit machen kann?

daheim

Ich habe mich jetzt mal etwas in den at Befehl eingelesen und habe eine frage:

Gibt es die Möglichkeit von bis mit dem befehl zu machen?

Ist nur ein Beispiel, welches in FHEM nicht geht klar:

If Zeit von 10-17 uhr
dann
define notify_ein_iPhone_Zuhause notify presence_Alle_iPhones:Jmd_da {AlleModus("day")}
else
{AlleModus("auto")}

Wie könnte ich sowas umsetzen?

hier der ganze Code


###########################################################################
##                                                                       ##
## iPhone Daniel                                                         ##
##                                                                       ##
###########################################################################

define presence_iPhone_Daniel PRESENCE lan-ping 192.168.115.215 60
attr presence_iPhone_Daniel alias Daniels iPhone
attr presence_iPhone_Daniel event-on-change-reading state
attr presence_iPhone_Daniel room Dachgeschoss

###########################################################################
##                                                                       ##
## iPhone Jasmin                                                         ##
##                                                                       ##
###########################################################################

define presence_iPhone_Jasmin PRESENCE lan-ping 192.168.115.210 300
attr presence_iPhone_Jasmin alias Jasmins iPhone
attr presence_iPhone_Jasmin event-on-change-reading state
attr presence_iPhone_Jasmin room Dachgeschoss



###########################################################################
##                                                                       ##
## iPhone prüfen                                                         ##
##                                                                       ##
###########################################################################


define presence_Alle_iPhones structure room presence_iPhone_Daniel presence_iPhone_Jasmin
attr presence_Alle_iPhones alias Alle iPhones
attr presence_Alle_iPhones clientstate_behavior relative
attr presence_Alle_iPhones clientstate_priority Jmd_da|present KMD|absent
attr presence_Alle_iPhones event-on-change-reading state
attr presence_Alle_iPhones room Dachgeschoss

define watchdog_Alle_iPhones_Unterwegs watchdog presence_Alle_iPhones:KMD 00:15 presence_Alle_iPhones:Jmd_da {AlleModus("auto")};;setstate watchdog_Alle_iPhones_Unterwegs defined
attr  watchdog_Alle_iPhones_Unterwegs regexp1WontReactivate 1

define notify_ein_iPhone_Zuhause notify presence_Alle_iPhones:Jmd_da {AlleModus("day")}

betateilchen

Zitat von: daheim am 12 März 2014, 11:33:45
Ich habe mich jetzt mal etwas in den at Befehl eingelesen und habe eine frage:

Gibt es die Möglichkeit von bis mit dem befehl zu machen?

natürlich, dafür gibt es das Attribut disabledForIntervals, beschrieben in der commandref zu at
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

daheim

#25
Hallo Betateilchen,

muss ich dann die Zeile

define notify_ein_iPhone_Zuhause notify presence_Alle_iPhones:Jmd_da {AlleModus("day")}

gegen diese tausche?

define notify_ein_iPhone_Zuhause at *10:00:00 notify presence_Alle_iPhones:Jmd_da {AlleModus("day")}
attr notify_ein_iPhone_Zuhause disabledForIntervals 16:50-24:00 00:00-09:59


Wenn ich das so mache habe ich im LOG den fehler

2014.03.12 12:38:29 1: configfile: notify_ein_iPhone_Zuhause: unknown attribute disabledForIntervals. Type 'attr notify_ein_iPhone_Zuhause ?' for a detailed list.

wo ist der fehler?

Fehler durch ein Update behoben

strauch

teste mal statt 24:00 23:59 oder 00:00
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

Soweit funktioniert alles

Wenn mein iPhone sich trennt und innerhalb der 15 min wieder verbindet sendet es immer wieder den Tagmodus an die Thermostate. Kann ich das irgendwie unterbinden?

strauch

Du kannst den notify deaktivieren und durch den watchdog aktivieren und der notify deaktiviert sich selbst.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

daheim

Hallo strauch,

und wie mache ich das? Ich glaube ich denke gerade etwas zu kompliziert?!