Hi,
ich bräuchte mal wieder eure Hilfe!!!
Ich hatte bisher nur ein Raspberry und konnte damit ja nur ein Raum die Beleuchtung per Anwesenheit steuern.
Habe jetzt mehrere Raspberrys mit dem Modul presenced (auf allen) und collectord (auf einem) laufen. Und bekomme damit die Anwesenheit raus.
define iDeviceBluetooth PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 127.0.0.1:5222
define iDeviceOn notify iDeviceBluetooth:present { fhem ("set iDevice on;; set Wohnzimmer_Erwachsener on ;; setstate watchdogiDeviceBluetoothAbwesend defined") if ((Value("iDevice") ne "on"))}
define watchdogiDeviceBluetoothAbwesend watchdog iDeviceBluetooth:absent 00:00:30 iDeviceBluetooth:present set iDevice off;; { fhem ("set Wohnzimmer_Erwachsener off") if (Value("iFranzi") ne "on") }
attr watchdogiDeviceBluetoothAbwesend regexp1WontReactivate 1
define iFranziBluetooth PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 127.0.0.1:5222
define iFranziOn notify iFranziBluetooth:present { fhem ("set iFranzi on;; set Wohnzimmer_Erwachsener on ;; setstate watchdogiFranziBluetoothAbwesend defined") if ((Value("iFranzi") ne "on")) }
define watchdogiFranziBluetoothAbwesend watchdog iFranziBluetooth:absent 00:00:30 iFranziBluetooth:present set iFranzi off;; { fhem ("set Wohnzimmer_Erwachsener off") if (Value("iDevice") ne "on") }
attr watchdogiFranziBluetoothAbwesend regexp1WontReactivate 1
# Schlafzimmer LED
define Schlafzimmer WifiLight RGB LD382A:192.168.178.42
attr Schlafzimmer colorCast 0, -20, -20, -25, 0, -10
attr Schlafzimmer room Schlafzimmer,Homekit
attr Schlafzimmer webCmd RGB
attr Schlafzimmer whitePoint 1, 0.75, 0.25
attr Schlafzimmer widgetOverride RGB:colorpicker,RGB
define Schlafzimmer_LEDOn notify Schlafzimmer_Erwachsener:on { fhem ("set Schlafzimmer RGB 50812A 10 queue;; setstate watchdogSchlafzimmer_Erwachsener defined") if ((Value("Schlafzimmer") ne "on") && (($hour >= 16 || $hour < 8))) }
define watchdogSchlafzimmer_Erwachsener watchdog Schlafzimmer_Erwachsener:off 00:00:10 Schlafzimmer_Erwachsener:on set Schlafzimmer off 20
attr watchdogSchlafzimmer_Erwachsener regexp1WontReactivate 1
Bis hier hin funktioniert alles!!!
Jetzt kommen wir zu meinem Problem.
Ich möchte gerne die Beleuchtung in verschieden Räumen mit der Anwesenheit einer Bluetoothgeräte schalten.
z.B. Gerät A ist im Schlafzimmer, Gerät B im Wohnzimmer --> beide Lampen (Wohn und Schlafzimmer) werden eingeschaltet
Gerät A und B sind im Wohnzimmer --> Wohnzimmer Lampe ist an Schlafzimmer Lampe aus!
Wie bekomme ich das hin.
Mit notify oder DOIF und etwas Hirnschmalz was die Logik angeht.
Ich wäre sehr erfreut wenn man mir die Richtung weisen würde, den Weg gehe ich dann schon alleine ;)
Hab hier mal was vorbereitet aber leider geht es nicht!
define ErwachsenerWohnzimmer DOIF (Value("iDevice:room") eq "Wohnzimmer") || (Value("iFranzi:room") eq "Wohnzimmer") (set Erwachsener_im_Wohnzimmer on) DOELSE (set Erwachsener_im_Wohnzimmer on)
Die Richtung hab ich dir gezeigt ;)
Zu DOIF gibt es eine recht ausführliche deutsche commandref.
Da ich aber kein DOIF benutze werde ich diesen Teil des Weges nicht mit dir gehen 8)
Edith: Aber wenn du zeigst welche Readings ein Device hat/haben kann kann ich dir vielleicht einen Schubs mit noitfy geben.
Hi, das wäre super:
command_accepted yes 2016-01-07 21:08:34
device_name iDevice 2016-01-08 05:31:04
presence present 2016-01-08 05:31:04
room Wohnzimmer 2016-01-08 05:31:04
state present 2016-01-08 05:31:04
Das sind die verfügbaren readings von einem Gerät!
:D
Zitat von: kevkolb am 07 Januar 2016, 21:10:24
define ErwachsenerWohnzimmer DOIF (Value("iDevice:room") eq "Wohnzimmer") || (Value("iFranzi:room") eq "Wohnzimmer") (set Erwachsener_im_Wohnzimmer on) DOELSE (set Erwachsener_im_Wohnzimmer on)
Dein DOIF ist falsch!
define ErwachsenerWohnzimmer DOIF ([iDevice:room] eq "Wohnzimmer" or [iFranzi:room] eq "Wohnzimmer") (set Erwachsener_im_Wohnzimmer on) DOELSE (set Erwachsener_im_Wohnzimmer off)
Das Ganze kannst Du dann beliebig erweitern.
Danke jetzt läuft alles wie es soll!
Freu ;D