Hauptmenü

Mein FHEM

Begonnen von noanda, 20 Februar 2015, 12:07:42

Vorheriges Thema - Nächstes Thema

noanda

ich muss dazu sagen, dass es bereits meine zweite FHEM Installation. Das Bild ist recht einfach, wir sind eine Familie und Bewohnen einen 4 Zimmer Wohnung Küche / Bad.

Aktoren:
6 x Heizung HM 886
20 x IT Steckdosen 433
6 x HM Steckdosen 886
9 x Fenster / Türkontakt 433
1 x Bewegungsmelder HM 886
5 x Rauchmelder Flamingo 433
1 x Außenthermometer 433
1 x NFC – Tag Reader
3 x LED RGB Steuerung 433
1 x RFXTRX Sender
1 x HMLAN
1 x Instar Cam
2 x Fernbedienung IT
1 x Tablett XOR
Das Ganze läuft auf eine RPI B+ (noch die Latenzzeiten sind mir etwas zu hoch)

Aufbau und Grundgedanken:
Ich habe die Wohnung in 2 Große Gruppen geteilt: 1 Gemeinschaftsräume (Küche, Bad, Wohnzimmer) 2 Individuelle Räume 2xKinderzimmer, Schlafzimmer.
Angefangen habe ich das ganze über das PRESENCE Modul für die Handys, diese werden über W-Lan und bluetooth erkannt (watchdog).
Nur Das Apfelphone meiner Frau geht nicht. Deswegen habe ich im Flur unter der Schlüsse einen NFC USB Stick, meine Frau hat einen NFC Tag am Schlüssel hängen, damit wird erkannt ob Sie da ist oder nicht.
Die Anwesenheit Stati werden an einen Dummy weitergegeben. Damit der mit event-on-change-reading ausgelesen werden kann.
diese Werte werden dann weitergegeben an das ROOMMATE Modul, hier sind alle Stati aktiv Also von ,,gone" über ,,awoken" bis ,,asleep".

Weiter geht es mit dem Modul, LightScene  . Jedes Zimmer hat mehrere eigene Scenes. Die im Großen und Ganzen den Stati von ROOMMATE entsprechen und noch ein paar mehr, wie z.B. ,,Kino" im Wohnzimmer.
Weiter werden noch die Herrlichkeit über Twilight abgefragt und die Feiertage über Hollyday.
Nun wird die Sache denkbar einfach. Der gemeinsame Staust aller Bewohner steuert die Gemeinschaftsräume uns setzt die entsprechende Scene, je nach dem wer anwesend ist, werden die individuellen Räume auch auf Die entsprechenden ,,scene" gestellt. Es gibt fast alle ,,scene" doppelt einmal mit und einmal ohne Licht. Je nachdem ob Twilight
sagt mit oder ohne Licht.
Einige ,,scene" werden mittlerweile über den emotionalen zustand gesetzt. Und verändern die Farben der LED.

Kleine Besonderheiten:
- Der ,,awoken" Status wird über einen Google Kalender gesetzt (dann ist die Kaffeemaschine warm und die Heizung an).
- Die Steckdosen am PC werden nicht nur über ,,home" gesteuert, die PC's werden extra gepingt. Dann geht der Saft nicht aus wenn sie noch an sind (Upload usw.) und steuern die Schreibtischbeleuchtung
- Es gibt besondere Scenes ,,Z.B. WarmesBad" wenn der Junior badet, dieser wird aber nach 30 Minuten in den Normalzustand zurück verätzt.
- Es gibt eine Alarmanlage, die über IPCAM ein Bild von der Tür liefert wenn der Alarm ausgelöst wird und per Mail verschickt.
- Bei Rauchalarm wird die Alarmsirene eingeschaltet und Mails verschickt.
- Die Rücksetzung des Alarm geht über NFC-TAG oder Telefon
- Es gibt einen Heizungshauptschalter, damit in der Übergangszeit die Heizungen nicht so ,,hüpfen"
- Die Temperatur der Flüsse werden überwacht (ich bin Kajakfahrer)
- in verschiedenen ,,Scene" wird zwischen Feiertagen und Arbeitstagen unterschieden (IF Modul) und damit Heizung und Licht im ,,Awoken" Zustand unterschieden ohne weitere ,,scene" zu bauen
- Da ich öfters vor dem TV einpennen, kann der ,,asleep" Zustand über eine Counter gesetzt werden
- Die ,,scens" geben die Temperatur an einen Dummy, der Stellt die Heiztemperatur ein. Aber nur wenn die Fenster / Türen geschlossen sind.
- die Ventilatoren sind von Anwesenheit und Außentemperatur abhängig.

Darstellung:
Zur allgemeinen Steuerung, hängt ein Tablett in der Küche im LASCAR Stil. Außerdem können die Floorplans auch über die Handys abgerufen werden. In ein paar Räumen kann man die Stati auch über die IT Fernbedienungen setzen.
Geplant: es ist noch Keymatic, die Aufzeichnung des Stromverbrauchs, das Auslesen von Emotionen über Schlafzustand über ein Sportarmband aber so weit bin ich noch nicht
Für Tipps und Meinungen bin ich offen  ;D
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

noanda

Noch ein paar Bilder dazu
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

FranzB94

Hi noanda!

Tolles Projekt! Man kann schön über die Bilder staunen. Leider kann man als FHEM-Anfänger kaum etwas davon verwenden, weil du nicht beschreibst Wie! du es in FHEM integriert hast. Vielleicht magst du einen WiKi-Beitrag verfassen?

Rätselhaft ist mir ehrlich gesagt, was du mit dem Junior veranstaltest:

Zitat- Es gibt besondere Scenes ,,Z.B. WarmesBad" wenn der Junior badet, dieser wird aber nach 30 Minuten in den Normalzustand zurück verätzt.

noanda

Nun ich will ihn nicht "Verätzen" sondern die Steuerung soll versetzen, Worterkennung ist halt nicht immer gut.

Wenn ich ein wenig Zeit habe, oder besondere Teile der Steuerung interessant sind lasst es mich wissen, werde es mal austüfteln.


Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

bjoernbo

wow, das sieht klasse aus'! Das ganze ist umgesetzt mit RSS richtig? Dann muss ich mich mal da reinarbeiten.

Frage zu deiner CAM. Das ist, wenn ich das richtig gelesen habe ein Foto/Bild welches dort angeteigt wird, oder?
Ich habe meine Versuche das Livebild zu integrieren bereits abgebrochen. Im WebViewControll wird mir das nicht angezeigt.
Wäre das mit RSS möglich?
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

MartinMuc

Zitat- Da ich öfters vor dem TV einpennen, kann der ,,asleep" Zustand über eine Counter gesetzt werden

Was mich intressiert ist dein Totmann Counter fürs Einschlafen vor dem TV, dafür hab ich nämlich noch keine adäquate Lösung
Cubietruck mit CUL und HM USB

P.A.Trick

Zitat von: MartinMuc am 24 Februar 2015, 13:03:01
Was mich intressiert ist dein Totmann Counter fürs Einschlafen vor dem TV, dafür hab ich nämlich noch keine adäquate Lösung

Ich habe dafür meinen Nachtwächter :-) Der guckt um 02:00 Uhr welche Geräte noch an sind und sofern die Aktion nicht durch einen Tastdendruck auf meine Fernbedienung unterbrochen wird, dann wird alles ausgeschaltet. Klappt super und die Frau kommt damit auch klar :-)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

noanda

Hallo Zusammen,

nun ich will mal eines sagen, ich habe zwar sehr lange zusammen gebaut, aber Ehre wem diese Gebührt, das meiste habe ich aus der Forum.

@ bjoernbo: Nein das ganze ist nicht über RSS, sondern nur statisch, bei der IPCAM habe ich einfach nur das Livebild eingebunden. Das mit dem RSS habe ich im Auge, aber leider keine Zeit dafür.

@ MartinMuc
Eigentlich ist es 100% dieser Wecker:
Zitathttp://forum.fhem.de/index.php/topic,30733.0.html
aus dem Forum hier, er stellt nur nicht einen Aktor an sondern mich im modul auf asleep.

define WeckerCF dummy
attr WeckerCF alias WeckerCF stellen
attr WeckerCF devStateIcon AUS:general_aus@red
attr WeckerCF fp_Home 340,730,7,
attr WeckerCF group WeckerCF
attr WeckerCF icon ring
attr WeckerCF room Wecker
attr WeckerCF setList state:AUS,00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45
attr WeckerCF webCmd state:AUS

define noWeckerCF notify WeckerCF {if (Value("WeckerCF") eq "AUS")\
  { fhem("delete atWeckerCF");;;;\
} else {\
  fhem("delete atWeckerCF");;;;\
  fhem("define atWeckerCF at ".Value("WeckerCF").":00 {WeckenCF()}");;;;\
  fhem("attr atWeckerCF room Wecker");;;;\
  fhem("attr atWeckerCF group WeckerCF");;;;\
  fhem("attr atWeckerCF alias Nächster aktiver WeckerCF:");;;;\
  fhem("attr atWeckerCF icon ring\@@red");;;;\
  }\
}
attr noWeckerCF room Wecker


und in der 99_myUtils.pm:

sub
WeckenCF()
{
  fhem("set rr_Christian asleep");
}


wie gesagt vieles ist hier aus dem Forum, dieses Forum ist eine Quelle der Ideen, ich habe sie nur zusammen gebaut... OK für den floorplan habe ich etwas länger gebraucht.
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

noanda

Also wie versprochen ein wenig was zu meinem FHEM.
Vorweg, ich bin weder ein Programmierer, noch ein super Typ. Ich habe nur versucht mit dn vielen Modulen unsere Wohnung nach unseren Bedürfnissen zu ,,gestalten". Dabei hatte ich jetzt auch nicht die viel Geld im Budget. Sonst wäre alles von HM.

Für vieles gäbe es auch bestimmt noch bessere Lösungen, und ich versuche es auch immer weiter, aber jetzt kommt erst mal wieder Kajak fahren und noch ein paar andere Projekte, die Prio haben.

Das eigentliche Lob geht also an die die FHEM möglich machen, und im Forum schneller sind als der Support vieler Hersteller.

Als ich in der 2 Version mein FHEM zusammengebaut habe, habe ich für mich ein paar ganz einfacher Regelungen für die Namen gefunden. Da ich in Namen irgendwie keine Punkte mag (das kommt vielleicht noch aus DOS Zeiten) Habe ich meine Namen alle So aufgebaut:
Aktoren = 3 Grosbuchstaben Für das Zimmer dann den Typ Heizung, Licht usw. und vielleicht noch eine Zusatz. Beispiel WOZLichtSofa ist ein Licht im Wohnzimmer beim Sofa.

Melder = Fangen immer mitt Melder and, dann 3 Buchtsaben für was sie melden, und 3 Buchtsaben für dass wo sie melden Beispiel MelderFEUWOZ ist dann wohl ein Feuermelder im Wohnzimmer.

Sensor = Fangen immer mit Sensor an, dann 3 buchsteben für was man Sie baraucht und Wo sie sind Beispiel SensorTEMKUE, ist ein Temperaturmelder in der Küche.

Das habe ich so gemacht, damit ich gruppen Schalten kann, also alles im WOZ oder alle Lichter im WOZLicht usw. Die Melder müssen andersrum laufen MelderFEU ist wohl immer ein Feuermelder.

Aber das muss jeder selber für sich wissen wie er sich was baut. War für mich halt logisch.

Übrigens bei IT Codes habe ich jedem Raum einen Buchstaben gegeben und nacheinander durchnummeriert, kann dann auch recht praktisch sein.

Das nur damit mein Code eindeutiger wird. Funktionen erkennt man übrigens immer an den letzten Buchstaben als NTFY für Notify und DOIF für Do if usw.

früher haben ich übrigens noch viel in der CFG rumgemurkst, heute mache ich das nicht mehr. Ich arbeite lieber so mit FHEM. Was ich mir aber nicht abgewöhnen kann, ist die Sachen nachher noch zu ordnen, ist aber nur eine Angewohnheit, die ATTR können auch über den Interface gesetzt werden:

Und noch sehr Praktisch wenn man den RPI ins LAN einbindet über SMB , dann kann man schnell mal einen Floorplan hin und her schieben. Aber Achtung, ich habe mir dabei auch schon mal alle Rechte entzogen :-). Es lebe das Backup. http://www.einplatinencomputer.com/samba-server-installieren/


Ich habe erst mal angefangen meine Grundparameter festzulegen:

Ferien Hier hinterlege ich die Werktage die als Feiertage erkannt werden sollen

define Bayern holiday

WE Erkennung ( Ist im Prinzip nur ein Schalter, der auf den Floorplan zeigt ob heute Feiertag ist oder nicht, recht praktisch zum umstellen wenn man mal einen Urlaubstag vergessen hat-> bei uns gehen bestimmte Heizungen nur am WE an)

define WESchalter dummy
attr WESchalter devStateIcon Werktag:scene_workshop@black:Wochenende Wochenende:scene_summerhouse@black:Werktag
attr WESchalter fp_Home 570,990,0,
attr WESchalter fp_WPlan 440,1375,0,
define WEScahlterAT at *00:05 { if ($we) { fhem("set WESchalter Wochenende") } else {fhem("set WESchalter Werktag")} }


Twilight Steuert bei uns wann das Licht angeht, wird auch an einen Dummy übergeben, denn manchmal verschätzt auch Twilight  sich und dann kann man schnell nachjustieren.

define myTwilight Twilight 48.XXXX 11.XXXXX 4 6XXXX

##TW ON OFF
define TwilightDummy dummy
attr TwilightDummy devStateIcon on:weather_moon_phases_8@black:off off:weather_sun@black:on
attr TwilightDummy event-on-change-reading state
attr TwilightDummy event-on-update-reading state
attr TwilightDummy fp_Home 635,990,0,
attr TwilightDummy fp_WPlan 389,1380,0,
attr TwilightDummy setList state:on,off
attr TwilightDummy webCmd state

define TwilightDummyOn notify myTwilight.*:aktEvent:.*ss_weather.* set TwilightDummy on

define TwilightDummyOff notify myTwilight.*:aktEvent:.*sr_weather.* set TwilightDummy off
###END TW


Die Heizung ist von 2 Schaltern abhängig, einer wird manuell gesetzt und unterscheidet ob Sommer oder ,,Winter". Ich kann mich gerade nicht Erinnern warum der Sensor über einen Dummy (HZGHilfschalterTEMPD ) läuft aber ich werde wohl einen Grund gehabt haben. Die Heizung läuft also hier auf 2 Bedingung Außentemperatur niedriger 16 und  Winter. Um zu vermeiden das in den Übergangszeiten die Heizung zu früh angeht, oder ein paar Stunden am Tag läuft hier die Unterscheidung Somme/ Winter.

define HZGHauptschalterD dummy
attr HZGHauptschalterD devStateIcon Sommer:weather_summer@black:Winter Winter:weather_winter@black:Sommer
attr HZGHauptschalterD fp_Home 700,990,0,
attr HZGHauptschalterD fp_WPlan 483,1380,0,
attr HZGHauptschalterD setList state:Sommer,Winter
attr HZGHauptschalterD webCmd state

define HZGStatusD dummy
attr HZGStatusD devStateIcon on:sani_heating_automatic@black:off off:sani_heating_temp@black:on
attr HZGStatusD fp_WPlan 572,1380,0,
attr HZGStatusD setList state:on,off
attr HZGStatusD webCmd state

define HZGHilfschalterTEMPD dummy
attr HZGHilfschalterTEMPD devStateIcon on:temp_temperature_min@black off:temp_temperature_max@black
attr HZGHilfschalterTEMPD fp_WPlan 528,1380,0,
attr HZGHilfschalterTEMPD setList state:on,off
attr HZGHilfschalterTEMPD webCmd state

define HZGTEMPNTFY notify (SensorTEMLOG) \
IF ([SensorTEMLOG:temperature] >= 16) (set HZGHilfschalterTEMPD off) ELSE (set HZGHilfschalterTEMPD on)

define HZGAnzeige notify (HZGHauptschalterD|HZGHilfschalterTEMPD) IF ([HZGHauptschalterD] eq "Winter" && [HZGHilfschalterTEMPD] eq "on") (set HZGStatusD on) ELSE (set HZGStatusD off)




MY TTS Dafür müsst Ihr derm RPI natürlich noch den Sound installieren http://www.fhemwiki.de/wiki/Text2Speech Damit kann FHEM dann reden
define MyTTS Text2Speech hw=0.0
attr MyTTS TTS_UseMP3Wrap 1
attr MyTTS room Komunikation
attr MyTTS verbose 4


De Google Kalender unserer Familie, ist mitlerweile recht wichtig geworden. Zum einen erkennt er über eine Notify wann wer aufsteht und macht entsprechend die Heizungen an. Zum anderen sollen eigentlich gemeinsame Termine im Floorplan dargestellt werden. Wird aber eigentlich nur von mit genutzt und fliegt wohl demnächst raus. www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies

define Kalender Calendar ical url http://www.google.com/calendar/ical/XXXX
attr Kalender alias Termine
attr Kalender room Komunikation

define myView CALVIEW Kalender 2
define kalenderTermine readingsGroup <%time_calendar>,<Text> myView
attr kalenderTermine alias Termine
attr kalenderTermine fp_Home 180,1295,0,
attr kalenderTermine mapping %READING
attr kalenderTermine room Komunikation



Zeigt eigentlich nur wann meine Schwiegermutter versucht hat uns zu erreichen :-) Bei uns läuft alles über VOIP über eine Fritte

define Fritz_Box FB_CALLMONITOR 1XX.XXX.XXX.1
attr Fritz_Box room Komunikation
attr Fritz_Box reverse-search phonebook,klicktel.de,dasoertliche.de,search.ch,dasschnelle.at
attr Fritz_Box reverse-search-cache 1
attr Fritz_Box room Komunikation

define CALLMONITOR readingsGroup Fritz_Box
attr CALLMONITOR fp_Home 253,973,0




Mache dann mit Present weiter
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

rretsiem

Zitat von: noanda am 20 Februar 2015, 12:07:42
Angefangen habe ich das ganze über das PRESENCE Modul für die Handys, diese werden über W-Lan und bluetooth erkannt (watchdog).
Nur Das Apfelphone meiner Frau geht nicht. Deswegen habe ich im Flur unter der Schlüsse einen NFC USB Stick, meine Frau hat einen NFC Tag am Schlüssel hängen, damit wird erkannt ob Sie da ist oder nicht.
Die Anwesenheit Stati werden an einen Dummy weitergegeben. Damit der mit event-on-change-reading ausgelesen werden kann.
diese Werte werden dann weitergegeben an das ROOMMATE Modul, hier sind alle Stati aktiv Also von ,,gone" über ,,awoken" bis ,,asleep".

Das hört sich sehr interessant an, das Theme Presence mit Bluetooth und WLAN würde mich sehr interessieren, ich versuche da zur Zeit etwas ähnliches mit Bluetooth + Geofancy und bräuchte etwas Inspiration :)

Eine Frage zu den states der Roommates, wie definierst du "awoken"/"asleep" denn WAF-kompatibel automatisch?

noanda

Present habe ich eigentlich genaz einfach definiert, erst mein Handy im W-Lan:

define HandyChristian PRESENCE lan-ping 1XX.XXX.XXX.1XX 30 600
attr HandyChristian devStateIcon present:Home_Status.1 absent:Home_Status.0
attr HandyChristian event-on-change-reading state
attr HandyChristian event-on-update-reading state
attr HandyChristian fp_Home 310,700,2,


Dann mein Handy als Bluetooth (Hierzu muss natürlich auf dem RPI die mit sudo apt-get install bluetooth bluez-utils blueman installiert sein):

define HandyChristianBT PRESENCE local-bluetooth 00:00:00:00:00:00 30 600
attr HandyChristianBT userattr HandyChristian HandyChristian_map structexclude
attr HandyChristianBT HandyChristian SchristianHandy
attr HandyChristianBT event-on-change-reading state
attr HandyChristianBT event-on-update-reading state
attr HandyChristianBT fp_Home 310,800,2,


Beide werden in einer ,,structure" Zusammengefasst:

define SchristianHandy structure HandyChristian HandyChristianBT
attr SchristianHandy clientstate_behavior relative
attr SchristianHandy clientstate_priority present absent
attr SchristianHandy event-on-change-reading state
attr SchristianHandy event-on-update-reading state


Auf die "structure" meiner Handys lasse ich nun einen Watchdog los, der verhindert das ich rausfliege

define watchdog_AnwesenheitChr watchdog SchristianHandy:absent 00:05:00 SchristianHandy:present set ChristianHD absent ;; setstate watchdog_AnwesenheitChr defined
attr watchdog_AnwesenheitChr regexp1WontReactivate 1
attr watchdog_AnwesenheitChr verbose 0


Das ganze übergebe ich an einen Dummy, denn ich hatte am anfang das Problem, das bei jeder Aktualisierung mein Status in Roomate auf "Home" sprang. Ergo nachts ging das Licht plötzlich an, meine Frau fand das nicht so witzig.
Also übergebe ich den Status an ein Dummy mit ,,event-on-change-reading *" dann kann nix passieren:

define ChristianHD dummy
attr ChristianHD event-on-change-reading *
attr ChristianHD setList home absent
attr ChristianHD verbose 0


DenStatus der "structure" wird über Notify an an den Dummy gegeben

define AnwesenheitNTFYChr notify SchristianHandy:present set ChristianHD home
attr AnwesenheitNTFYChr verbose 0


Der Dummy setzt nun den Staus im Roomate Modul, auf "Home" oder "absent"

define ChristianHDNTFY notify ChristianHD set rr_Christian $EVENT



Bei meiner Frau war das dank Apfeltelefon nicht so einfach, denn alle lösungen gehen nicht. Immer wenn das gute Stück ruhen will, ist Frau Absent.
ALSO NFCTAG. Die Anleitung gibt es hier http://www.fhemwiki.de/wiki/Raspberry_Pi_%26_NFC, zugegben ich habe einen ganze Weile daran gebaut. Bis der RPI den USB Stick SCM SCL3711 gefressen hat.

Und da war auch gleich das nächste Problem: der NFCTAG , meldet er sich ,,present" beim Auflegen auf dem NFC Reader, aber nicht ,,absent" beim wegnehmen. Ergo wird der Tag über ,,NFCTagSomRueckAT" alle 5 Minute "absent" gesetzt.
Ist der NFCTAG noch auf dem Stick , wird er wieder ,,present" gesetzt.

define 08f8f053803b91 dummy
attr 08f8f053803b91 event-on-change-reading state
attr 08f8f053803b91 event-on-update-reading state
attr 08f8f053803b91 fp_Home2 50,100
attr 08f8f053803b91 verbose 0

define NFCTagSomRueckAT at +*00:05:00 set 08f8f053803b91 absent
attr NFCTagSomRueckAT verbose 0


Nun noch den Wachtdog, damit der Status nicht bei jeder AT Rücksetzung auf "absent" springt.

define watchdog_AnwesenheitSom watchdog 08f8f053803b91:absent 00:03:00 08f8f053803b91:present set SommerHD absent ;; setstate watchdog_AnwesenheitSom defined
attr watchdog_AnwesenheitSom regexp1WontReactivate 1
attr watchdog_AnwesenheitSom verbose 0
define NFCTagNTFYSom notify 08f8f053803b91:present set SommerHD home
attr NFCTagNTFYSom verbose 0


und wegen dem gleichen ,,Problem" der Aktualisierung, wieder die Übergabe an einen Dummy.

define SommerHD dummy
attr SommerHD event-on-change-reading *
attr SommerHD fp_Home 220,700,2,
attr SommerHD setList home absent
attr SommerHD verbose 0


der analog zu oben, den Staus im Roomate setzt.

define SommerHDNTFY notify SommerHD set rr_Sommer $EVENT


An dieser Stelle, noch eine kleine Besonderheit. Auch meinen PC lasse ich über PRESENCE erkennen:

define PCChristian PRESENCE lan-ping 1XX.XXX.XXX.XXX 20 120
attr PCChristian event-on-change-reading state
attr PCChristian event-on-update-reading state


Der PC ist aber nur an wenn ich "home" oder "awoken" bin. Soweit alles gut, was aber wenn der PC in meiner Abwesenheit noch ein Video rechnet? Oder ein Update macht?
Lösung: Wenn ich aufgewacht bin oder Daheim oder der PC ist an bekommt er auch Strom:

define PCCFNTFY notify (PCChristian|rr_Christian) IF ([PCChristian] eq "present" or ([rr_Christian] eq "home" or ([rr_Christian] eq "awoken"))) (set WOZPCChristian on) ELSE (set WOZPCChristian off)

und weil es so schön ist, lasse ich das Licht auch nur angehen wenn es draußen Dunkel ist und der PC an ist.

define PCCLichtNTFY notify (PCChristian|TwilightDummy) IF ([PCChristian] eq "present" and ([TwilightDummy] eq "on")) (set WOZLichtChristian on) ELSE (set WOZLichtChristian off)
Soweit zur Erkennung meiner, jetzt kommen die ,,Stati", ich nutze alle Stati aus RESIDENTS/ ROOMMATE, dafür einfach das ATTR auf ,,showAllStates = 1" setzen.


Dann die Gruppe definieren:

define Familie RESIDENTS
attr Familie alias Residents
attr Familie devStateIcon .*home:status_available@black:absent .*absent:status_away_1@black:home .*gone:status_standby@black:home .*none:control_building_empty@black  .*gotosleep:status_night@black:asleep .*asleep:status_night@black:awoken .*awoken:status_available@black:home
attr Familie event-on-change-reading state,presence
attr Familie event-on-update-reading state,presence
attr Familie fp_Home 100,370,2,
attr Familie fp_WPlan 165,1410,0,
attr Familie group Familie
attr Familie icon control_building_filled@black
attr Familie rgr_showAllStates 1
attr Familie room Residents
attr Familie verbose 0
attr Familie webCmd state


und die Bewohner (ich teste mich derzeit noch durch die ,,Mood" bin da aber noch nicht so weit) auf jeden Fall kann man die Emotionen auch selber ändern mit ,,rr_moods"

define rr_Sommer ROOMMATE Familie
attr rr_Sommer alias Status
attr rr_Sommer devStateIcon .*home:user_available@black:absent .*absent:user_away@black:home .*gone:user_ext_away@black:home .*gotosleep:scene_toilet@black:asleep .*asleep:scene_sleeping@black:awoken .*awoken:scene_sleeping_alternat@black:home .*:user_unknown@black
attr rr_Sommer event-on-change-reading state,presence
attr rr_Sommer event-on-update-reading state,presence
attr rr_Sommer fp_Home 200,370,2,
attr rr_Sommer group Sommer
attr rr_Sommer icon people_sensor@black
attr rr_Sommer room Residents
attr rr_Sommer rr_showAllStates 1
attr rr_Sommer webCmd state

define rr_Christian ROOMMATE Familie
attr rr_Christian alias Status
attr rr_Christian devStateIcon .*home:user_available@black:absent .*absent:user_away@black:home .*gone:user_ext_away@black:home .*gotosleep:scene_toilet@black:asleep .*asleep:scene_sleeping@black:awoken .*awoken:scene_sleeping_alternat@black:home .*:user_unknown@black
attr rr_Christian event-on-change-reading state,presence
attr rr_Christian event-on-update-reading state,presence
attr rr_Christian fp_Home 290,370,2,
attr rr_Christian group Christian
attr rr_Christian icon people_sensor@black
attr rr_Christian room Residents
attr rr_Christian rr_moods ruhig,aufgeregt,glücklich,deprimiert
attr rr_Christian rr_showAllStates 1
attr rr_Christian sortby 0
attr rr_Christian webCmd state



Als letztes, müssen wir dem ganzen noch sagen, dass der Staus "awoken" über den google Kalender gezogen warden muss.

Entweder für alle also Familie oder aber zb. Für mich alleine wenn ich um 4 raus muss mit ,,rr_Christian" im Google Kalender:

define AwokenSetKalender notify Kalender:modeStarted.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $actor= fhem("get Kalender summary $uid");; if(defined $actor) { fhem("set $actor awoken") } }
attr AwokenSetKalender room Komunikation


Zusammenfassung:

Kommt jemand Heim wird er auf ,,home" gestellt (egal wie W-LAN, NFC usw.) irgendwann geht dieser Mensch ins Bett, vielleicht will er noch im Bett Lesen oder TV schauen für diese Zeit stellt er sich über Handy oder Tablett auf ,,gotosleep", hat er ihn gestellt, wir der Counter (weiter oben im Post) ihn irgendwann auf ,,asleep" stellen. Oder er tut es selber. Bevor er erwacht, stellt der GoogleKalender in dann irgendwann auf ,,awoken", macht den Toaster an und Küche und Bad warm. Bis man zur arbeit geht, dann wird man wohl so nach 10 Min ,,absent" und kommt man nicht wieder nach 36 Std. ,,gone".

Wie ich das nun mit LightScene mache kommt noch.
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

noanda

Hat jemand einen nutzen davon? Dann schreibe ich weiter
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Spezialtrick

Super Dokumentation!
FHEM - Debmatic - Zigbee2MQTT - Homekit

Hollo

Zitat von: noanda am 07 März 2015, 00:24:48
Hat jemand einen nutzen davon? Dann schreibe ich weiter
Auf jeden Fall.  :D
Die Vorstellung einer ganzen Installation finde ich sehr interessant und hilfreich.

Man erkennt so eher Zusammenhänge sowie Sinn und Zweck einzelner Deklarationen.
Als Beispiel nehme ich mal die Definition der Namensgebung. Vorher Gedanken machen kann da später sehr nützlich sein.

Es gibt sicher nicht DIE Lösung, aber so sieht man mal Umsetzungsideen.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Uli

Bitte weiter schreiben! Sehr schön und interessant!


Gruß
Uli
Gruß

Uli

seit 01/2023 kein FHEM mehr. Bin nur noch aus historischen Gründen hier

Zephyr

Ich finde es ja immer wieder toll, wenn Leute das LCARS-Interface aus Star Trek versuchen mit aktuellen Technologien zu paaren.
Aber bei Dir ist das wirklich sehr gut gelungen. Du hast darauf geachtet, eine passende Schriftart zu benutzen. Und die Mischung aus abstraktem LCARS-Interface, Browser-DropDown-Feldern, pragmatischen Symbolen für die Räume, Schaltflächen bei denen peinlich genau auf die Ausrichtung geachtet wunde und nicht zuletzt die 80er Jahre GPLOTs ergeben ein wirklich harmonisches wirkendes, leicht verständliches Interface.
Nur bin ich mir nicht ganz sicher, ob auch jeder die Uhrzeit hinter "Stardate:" und das gregorianische Kalenderdatum hinter "Time:" richtig interpretiert. Aber viellicht habe ich einfach komische Vorstellungen von Angaben als "Stardate".

Ja, doch... Das ist ein wirklich exorbitant gut gelungenes Interfacedesign eines echten Profis. Hut ab!

LG Zephyr
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

noanda

Dank für Lob und Lorbeeren.... Sagen wir ich bin da etwas penibel. Ein Kind der 80 und na ja....
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

noanda

#17
Dem Modul Ligth Scene, stand ich am Anfang mit dem Gedanken gegenüber ,,Die drei Aktoren werde ich ja noch schnelle Programmieren können". Und solange es nur 3 waren, ja....

Aber es wurden immer mehr, und es wurden auch immer mehr Kombinationen, was wann ,,an" sein soll und wann ,,aus". Das Modul hat einen reisen Vorteil. Wenn ein neuer Aktor dazu kommt, dann einfach schnell mit aufnehmen und gut.

Außerdem habe ich mich am anfange gefragt ob eine Light Secene für die ganze Wohnung nicht reicht. Ich bin relativ schnell dazu gekommen für jeden Raum einen zu machen, und nenne sie wie die Räume LSKUE = Küche LSWOZ für das Wohnzimmer usw.


define LSWOZ LightScene WOZHeizungD WOZLicht WOZMedia WOZPCSommer WOZLedRgb
attr LSWOZ followDevices 1
attr LSWOZ fp_Home 685,400,2,
attr LSWOZ group DBLS
attr LSWOZ icon scene_livingroom@black
attr LSWOZ lightSceneRestoreOnlyIfChanged 1
attr LSWOZ room Wohnzimmer


Darin habe ich jetzt die verschiedenen Szenen hinterlegte, und im Prinzip an die Stati von Roomate angepasst nur mit einem ML für Mit licht und OL für Ohne Licht.

ZitatSie Bild

HINWEIS, Ich speichere ganz oft die Datei mit meinen LS Szenen, die sind nämlich schon ein paar mal ,,weg" gewesen. Liegen im Log Verzeichnis unter FHEM.

Besonderheit 1 = ich steuere die LS über einen Dummy mit Liste, den kann ich nämlich auf den Floorplan schmeißen und auch immer wieder neue Szene da zuschreiben, die werden dann auch gleich so übernommen in LS wie sie in der Liste des Dummys stehen.


define LSWOZD dummy
attr LSWOZD fp_Home 685,550,2,
attr LSWOZD fp_WOZPlan 328,653,7,
attr LSWOZD group DBLS
attr LSWOZD icon scene_livingroom@black
attr LSWOZD room Wohnzimmer
attr LSWOZD setList state:absent,asleep,awokenML,awokenOL,gone,gotosleep,homeML,homeOL,kino
attr LSWOZD webCmd state


Das ganze setze ich über einen notify:


define LSWOZNTFY notify LSWOZD set LSWOZ scene $EVENT
attr LSWOZNTFY room Wohnzimmer


So langen sich die Roomate Stati nicht ändere kann ich dann also die Szenen direkt aufrufen wie z.B. Kino im Wohnzimmer oder Foto. Dabei verändern sich Temperatur und Licht. Wenn die Stati direkt an Roomate hängen und hier ein ,,event-on-change-reading state" angegeben ist, wird sich auch wenn meine Frau heim kommt, die Szene Kino im Wohnzimmer nicht ändern. Gehen wir alle ins Bett, natürlich schon. Das ist Praktuisch

Besonderheit 2 = ich habe noch recht viele Fensterkontakte auf 433 MHZ gehabt. Diese lassen sich natürlich nicht direckt mit dem HM Termostat paaren. Also wollte ich das über LS machen, das geht aber nicht so einfach, den entweder legat man 2 ,,Szenen ", also einmal Fenster Offen oder Fenster zu, das dann nochmal mit oder und ohne Licht usw...
Also lsse ich die Werte in einen Dummy schreiben, der Dummy hat dann den Wert den die Heizung haben soll und steuert dann so:

Der Dummy:


define WOZHeizungD dummy
attr WOZHeizungD userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr WOZHeizungD room Wohnzimmer


Der Notify


define HZGWOZNTFY notify (MelderWOZ|HZGStatusD|LSWOZ) IF ([MelderWOZ] eq "off" and ([HZGStatusD] eq "on")) (set WOZHeizungK04 [WOZHeizungD]) ELSE (set WOZHeizungK04 controlManu off)
attr HZGWOZNTFY room Wohnzimmer


Überhaupt sind wir eigentlich schon bei der Steuerung, denn ich habe ja alles was ich Brauche. 1 Die Umweltdaten, 2 Die Abwesenheiten und 3 wie Geschaltet werden soll. Das ganze klebe ich mir dann so zusammen:

Es werden hier die gemeinsamen Räume geschallten Küche Bad Wohnzimmer:


define homeNTFY notify (Familie|TwilightDummy) IF ([Familie] eq "home" and ([TwilightDummy] eq "on")) (set LSKUED homeML, set LSWOZD homeML, set LSBADD homeML, set LSELTD homeML) \
ELSE (IF ([Familie] eq "home" and ([TwilightDummy] eq "off")) (set LSKUED homeOL, set LSWOZD homeOL, set LSBADD homeOL, set LSELTD homeOL)\
ELSE (IF ([Familie] eq "gotosleep" and ([TwilightDummy] ne "00")) (set LSKUED gotosleep, set LSWOZD gotosleep, set LSBADD gotosleep) \
ELSE (IF ([Familie] eq "asleep" and ([TwilightDummy] ne "00")) (set LSKUED asleep, set LSWOZD asleep, set LSBADD asleep, set LSELTD asleep) \
ELSE (IF ([Familie ] eq "awoken" and ([TwilightDummy] eq "on")) (set LSKUED awokenML, set LSWOZD awokenML, set LSBADD awokenML) \
ELSE (IF ([Familie] eq "awoken" and ([TwilightDummy] eq "off")) (set LSKUED awokenOL, set LSWOZD awokenOL, set LSBADD awokenOL)\
ELSE (IF ([Familie] eq "absent" and ([TwilightDummy] ne "00")) (set LSKUED absent, set LSWOZD absent, set LSBADD absent, set LSELTD absent)ELSE \
(IF ([Familie] eq "gone" and ([TwilightDummy] ne "00")) (set LSKUED gone, set LSWOZD gone, set LSBADD gone, set LSELTD gone)))))))))


und analog die Räume individuell wie hier bei meinem Sohn:


define homeLNTFY notify (rr_Leonardo|TwilightDummy) IF ([rr_Leonardo] eq "home" and ([TwilightDummy] eq "on")) (set LSKZLD homeML) ELSE (IF ([rr_Leonardo] eq "home" and ([TwilightDummy] eq "off")) (set LSKZLD homeOL) ELSE (IF ([rr_Leonardo] eq "gotosleep" and ([TwilightDummy] ne "00")) (set LSKZLD gotosleep) ELSE (IF ([rr_Leonardo] eq "asleep" and ([TwilightDummy] ne "00")) (set LSKZLD asleep) ELSE (IF ([rr_Leonardo] eq "awoken" and ([TwilightDummy] eq "on")) (set LSKZLD awokenML) ELSE (IF ([rr_Leonardo] eq "awoken" and ([TwilightDummy] eq "off")) (set LSKZLD awokenOL) ELSE (IF ([rr_Leonardo] eq "absent" and ([TwilightDummy] ne "00")) (set LSKZLD absent)ELSE \
(IF ([rr_Leonardo] eq "gone" and ([TwilightDummy] ne "00")) (set LSKZLD gone))))))))))
attr homeLNTFY room Leonardo Kinderzimmer


Hinweis, immer wenn ich was habe was mit egal ist, was ich aber dennoch vergleichen muss, wie ,, TwilightDummy" beim Status ,,absent", denn absent will ich nicht Mit und ohne Licht definieren, dann sage ich  TwilightDummy ist ungleich ,,00", da  TwilightDummy aber nie anders ist als ,,00" ist diese Bedingung immer erfüllt.

Etwas Besonders ist die Schaltung des  Licht im Flur, das beliebt nämlich aus, wenn unser kleiner Mann schläft, oder es tun sollte, denn er würde vom Licht aufwachen:


define FLULichtAnMelder notify MelderGFLU:motion.* { if ( Value("rr_Joshua") ne "asleep") {fhem ("set FLULicht on-for-timer 00:00:30")}}

define FLULichtAnTFLU notify (MelderTURFLU|rr_Joshua) IF ([MelderTURFLU] eq "on" and ([rr_Joshua] ne "asleep")) (set FLULicht on-for-timer 00:04:00)


Übrigens , wird das Licht vom Bewegungsmelder ausgelöst belibt es 30 Sekunden an, Bei der Türe 4 Minuten, deswegen weil Ausziehen von Kindern Minimum 4 Minuten dauert, ich sollte noch einbauen im Winter 10 (eigentlich eine nette Idee).

Weiter wird die Kaffeemaschine nur dann Genschalten wenn ich oder Meine Frau aufstehen, denn die Kinder sollten noch keinen Kaffee trinken (hoffe ich). Wird aber auf jeden Fall mit über die Küchen Szene nochmal ausgeschaltet.


define homeEPavoniNTFY notify (rr_Sommer|rr_Christian) \
IF ([rr_Sommer] eq "awoken" or ([rr_Christian] eq "awoken")) (set Pavoni on) ELSE (set Pavoni off)


Ja und der Aktor darf auch nur Pavoni heißen, ohne KUE usw. Denn eine PAVONI ist eine PAVONI (und das seit 20 Jahren!!!)  8)

::) Ich nehme ihn gemahlen nicht gekapplselt  :)

Damit ist im Großen Mein FHEM erklärt.

Es gibt noch einen Alarmanlage und einen Ganzen Haufen Meldungen die die Wohnung so Absätze Feuermelder, offenen Fenster, Einbrüche (Meistens meine Frau) usw. Soll ich die auch noch aufschreiben ?

Und hat jemand Ideen wie man hier vielleicht was ,,Schlanker" machen kann? Ich habe ne ganze Mengen Notifys und IF ...
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

kvo1

Super Beitrag, Hut ab und danke!

ZitatEs gibt noch einen Alarmanlage und einen Ganzen Haufen M......

Ja , mich würde die Alarmanlage interessieren ..!

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

noanda

#19
Die Alarmanlage ist echt einfach, mit den Modulen hier bin ich irgendwie nicht warm geworden.

Ich habe mir erst mal 2 Dummys Angelegt, den einen über den Status der Alarmanlage und den anderen über den Status der ,,Bereitschaft oder Auslösung"


define AlarmAnlage dummy
attr AlarmAnlage devStateIcon Unscharf:control_building_empty@balck Scharfextern:building_security@balck Scharfintern:status_locked@balck
attr AlarmAnlage fp_Home 755,990,0,
attr AlarmAnlage fp_WPlan 80,1375,0,
attr AlarmAnlage room Alarmanlage

define AlarmAusloesungStaus dummy
attr AlarmAusloesungStaus fp_Home 820,990,0,
attr AlarmAusloesungStaus fp_WPlan 135,1370,0,
attr AlarmAusloesungStaus room Alarmanlage



Als nächstes habe ich festgelegt welchen Status das Ding wann haben soll:

Es existieren die Stati: Unscharf,  Pruefung,  Scharfextern, Scharfintern, Bereit

Im Status ,,Prüfen" wird eine Verzögerung definiert, damit die Wohnung ohne auslösung verlassen werden kann. Und das nur bei den Stati ,,Absent" und ,,gone" aus Roomate. Das ist auch deswegen wichtig weil bei Schafextern andere Senoren angesprochen werden (Nämlich alle) als bei Scharfintern wo die Fenster der Schlafzimmer ausgelassen werden.
Im status Bereit, wartet die Anlage auf eine Anmeldung der ,,Familie" auf des staus ,,Home" sonst wir Alarm ausgelöst

define AlarmScharf notify Familie IF ([Familie] eq "absent") (set AlarmAusloesungStaus Pruefung,define verzoegertAlarm at +00:05:00 set AlarmAnlage Scharfextern,define verzoegertAlarmP at +00:05:00 set AlarmAusloesungStaus Bereit, set 047a8969b21e80 absent) ELSE (IF ([Familie] eq "home") (set AlarmAnlage Unscharf,set AlarmAusloesungStaus unscharf) ELSE (IF ([Familie] eq "gone") (define verzoegertAlarm at +00:05:00 set AlarmAnlage Scharfextern, set AlarmAusloesungStaus Bereit,set 047a8969b21e80 absent) ELSE (IF ([Familie] eq "asleep") (set AlarmAnlage Scharfintern, set AlarmAusloesungStaus Pruefung, define verzoegertnachP at +00:03:00 set AlarmAusloesungStaus Bereit,set 047a8969b21e80 absent) ELSE (IF ([Familie] eq "gotosleep") (set AlarmAnlage Unscharf, set AlarmAusloesungStaus unscharf) ELSE (IF ([Familie] eq "awoken") (set AlarmAnlage Unscharf, set AlarmAusloesungStaus unscharf)))))))
attr AlarmScharf room Alarmanlage


Jetzt habe ich bei Auslösung die Verzögerung definiere eine Sprachausgabe in der Man darauf hingewiesen wird das sich gleich was tut, und schlussendlich der Alarm selber


define AlarmAusloesung notify (MelderAlarm|AlarmAnlage) IF ([MelderAlarm] eq "on" and ([AlarmAnlage] eq "Scharfextern")) (set AlarmAusloesungStaus Warten,set MyTTS tts Sie haben sich noch nicht angemldet,define verzoegertAlarm2 at +00:05:59 set AlarmAusloesungStaus ALARM) ELSE (IF ([MelderAlarm] eq "on" and ([AlarmAnlage] eq "Scharfintern")) (set AlarmAusloesungStaus ALARM)) ELSE (set AlarmAusloesungStaus unscharf ))))
attr AlarmAusloesung room Alarmanlage


Bei Alarm Interne wird vorher nochmal Kurz hingewiesen das noch Melder offen sind die für den Alarm bzw. Status geschlossen sein sollten:


define PruefungNachtAlarm notify (MelderAlarm|AlarmAusloesungStaus) IF ([MelderAlarm] eq "on" and ([AlarmAusloesungStaus] eq "Pruefung")) (set MyTTS tts Es sind noch Fenster und Türen offen bitte inerhalb 4 Minuten prüfen)


So nun ist eigentlich alles zu spät, Der Böse Bösewicht hat es geschafft, der ALARM stehe auf ALARM und ist ausgelöst Meine Frau und ich bekommen eine Mail, eine Siren geht auch los, für 30 Sekunden:


define AlarmAktoren notify AlarmAusloesungStaus IF ([AlarmAusloesungStaus] eq "ALARM") ( set FLUALARM on-for-timer 30,{DebianMail('Mail1@@googlemail.com,Mail2@@yahoo.com', 'ALARM in der Wohnung', 'Jemand unbefugtes hat die Wohnung betreten, die Türe wurde geöffnet')})
attr AlarmAktoren room Alarmanlage



Hier noch die Definition um den Alarm mit einem Tag zurück zu setzen (wenn man schon mal NFC hat  :-)


define 047a8969b21e80 dummy
attr 047a8969b21e80 room Alarmanlage
attr 047a8969b21e80 verbose 0


und der Notify der den Alarm über den Tag ausschaltet:

define AlarmruecksaetzungTag notify 047a8969b21e80 IF ([047a8969b21e80] eq "present") (set FLUALARM off)


ach so, man kann den Alarm auch per Telefon ausschalten:

Hier wird bei Anruf einer bestimmten Nummer (SIP Nummer gibt es ja um sonst genüge) der Alarm  ausgeschaltet Für mich (regiert dank ,,$extNr eq" nur auf mein Handy und nur wenn ich die Nummer  089123456 anrufe


define ALARMAUSCFNTFY notify Fritz_Box:event:.ring { \
  my $extNr = (ReadingsVal("Fritz_Box","external_number","99"));;;;\
  my $intNr = (ReadingsVal("Fritz_Box","internal_number","99"));;;;\
  if (($extNr eq "017123456") && ($intNr eq "089123456")) { \
    fhem("set FLUALARMD off")\
  }\
}


und bei meiner Frau wenn die Nummer  017123457


define ALARMAUSSFNTFY notify Fritz_Box:event:.ring { \
  my $extNr = (ReadingsVal("Fritz_Box","external_number","99"));;;;\
  my $intNr = (ReadingsVal("Fritz_Box","internal_number","99"));;;;\
  if (($extNr eq "017123457") && ($intNr eq "089123456")) { \
    fhem("set FLUALARM off")\
  }\
}


Gier noch die ,, structure" der Melder die überwacht werden

define MelderAlarm structure MelderTURFLU MelderTURWOZ2
attr MelderAlarm clientstate_behavior relative
attr MelderAlarm clientstate_priority on off
attr MelderAlarm room Alarmanlage


viel Spaß damit.
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

kvo1

Super, recht vielen Dank für die ausführliche Beschreibung, werd mich demnächst damit
beschäftigen.

Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Joker

Tolle Beschreibung, da kann man sich echt einige Ideen holen. Was immer Du noch interessantes hast, ich bin interessiert dran. Kannst Du vielleicht noch ein wenig Zu der Hardware sagen? Also z.b. Was ist das für ein NFC-Tag, wie hast Du die Soundausgabe für das TTS realisiert etc?

Zu den Lichtern hab ich eine Frage. Hast Du das quasi so gemacht, das abhängig vom home Status und Twilight einfach in der ganzen Wohnung bestimmte Lichter an sind? Also in allen Räumen, oder hab ich das falsch verstanden?

rretsiem

Klasse Beschreibung. Vielen Dank dafür!
Gerade ich als FHEM Anfänger kann mir hier soviel Ideen abschauen und daraus lernen. Gerade weil du es so ausführlich mit den Dummys beschreibt und auch wie diese zusammen interagieren ist das sowas von hilfreich!

Danke!!

noanda

Danke Danke, lohnt sich ja doch das alles zu schreiben  8)

@Joker: welche NFC Tags Du nimmst ist recht egal, ich habe die Erfahrung gemacht das die ganz billigen Nass gar nicht mögen und alle 14 Tage durch sind. Beim Großen A findest Du aber alles:
Der NFC Reader ist der SCM SCL3711- Kontaktloser Leser für Chipkarten und NFC - 905169. http://www.fhemwiki.de/wiki/Raspberry_Pi_%26_NFC
Da ich von Hardware nicht viel Ahnung habe, kaufe ich eigentlich auch immer nur was schon mal jemand getestet hat ( Danke dafür).

TTS habe ich nach dieser Anleitung installiert: http://www.fhemwiki.de/wiki/Text2Speech direkt auf dem RPI, da hängen dann nur 2 PC Lautsprecher dran die über den Hub Strom bekommen der auch die Antenne und der CUL versorgt.

Sonst habe ich nur Baumarksteckdosen ELRO und intertechno, alle ELRO sind aber nach intertechno gedipt. http://www.fhemwiki.de/wiki/Intertechno_Code_Berechnung

define KZLMedia TRX_LIGHT ARC G2 light
attr KZLMedia userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr KZLMedia IODev TRX_0
attr KZLMedia devStateIcon on:message_socket_enabled@black:off off:message_socket_off@black:on
attr KZLMedia event-on-update-reading state
attr KZLMedia fp_KZLPlan 690,930,0,
attr KZLMedia fp_WPlan 250,1080,0,
attr KZLMedia room Leonardo Kinderzimmer


Nur für die Kritischen Dinge wie Kaffeemaschine PC uns, da nehme ich immer HM wegen der Rückmeldung. Ist nicht so toll wenn die Bude brennt (gut damit könnte ich die Rauchmelder mal Testen  :o) Aber muss nicht.


define Pavoni CUL_HM XXXX
attr Pavoni userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr Pavoni .devInfo 010100
attr Pavoni .stc 10
attr Pavoni IODev HMLAN1
attr Pavoni autoReadReg 4_reqStatus
attr Pavoni devStateIcon on:message_socket_enabled@black:off off:message_socket_off@black:on
attr Pavoni event-on-change-reading state
attr Pavoni event-on-update-reading state
attr Pavoni expert 2_full
attr Pavoni firmware 1.9
attr Pavoni fp_KUEPlan 720,1000,0,
attr Pavoni fp_WPlan 270,830,0,
attr Pavoni model ROTO_ZEL-STG-RM-FZS
attr Pavoni peerIDs 00000000,
attr Pavoni room Küche
attr Pavoni serialNr JRT0001866
attr Pavoni subType switch
attr Pavoni webCmd toggle:on:off:statusRequest
define FileLog_Pavoni FileLog ./log/Pavoni-%Y.log Pavoni
attr FileLog_Pavoni logtype text
attr FileLog_Pavoni room Küche



und der Notify dazu:

define homeEPavoniNTFY notify (rr_Sommer|rr_Christian) \
IF ([rr_Sommer] eq "awoken" or ([rr_Christian] eq "awoken")) (set Pavoni on) ELSE (set Pavoni off)
attr homeEPavoniNTFY room Eltern Schlafzimmer
attr homeEPavoniNTFY verbose 0



Also für den Kaffee am morgen :-)

Sonst ja es gibt ein Grundbild an Lampen was immer an geht aber nicht überall, denn ich habe alles auf LED Streifen umgestellt und wenn ich die WATT in der Summe nehme komme ich auf ca. 50 Watt. Das haben meine Eltern mit 1 Glühbirne geschafft  ;D

Aber nur in der Grundkonfiguration und nur in manchen Räumen. Ergo wenn im Modul Roomate "Familie" = home + TW = on dann licht an in Küche Bad und Wohnzimmer.

im Zimmer meiner Frau in dem auch ich schlafen darf  :-* rr_Christian oder rr_sommer = home + TW = on dann Licht im Schlafzimmer an
im Kinderzimmer: rr_Leonardo = home + TW =on Licht im Kinderzimmer

Usw.

Das heißt es muss nicht immer alles an gehen. Du kannst ein Teil nach der "Gruppe" = Familie streuen und bestimmte Räume nur bei der Anwesenheit bestimmter Personen. Vielleicht hast du ja ein Gästezimmer ....

Also im Prinzip, was ich bei einer Wohnung nicht brauche, könntest Du die Person "rr_FreundeZumSingen" anlegen, und den Musikkeller damit anmachen. Oder überfluten, wenn es nicht Deine Freunde sind.

Noch Fragen zur Hardware ?
Rauchmelder usw. mache ich am WE, genau wie der Floorplan der einige interessiert

Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

rretsiem

Zitat
Sonst ja es gibt ein Grundbild an Lampen was immer an geht aber nicht überall, denn ich habe alles auf LED Streifen umgestellt und wenn ich die WATT in der Summe nehme komme ich auf ca. 50 Watt. Das haben meine Eltern mit 1 Glühbirne geschafft  ;D

Aber nur in der Grundkonfiguration und nur in manchen Räumen. Ergo wenn im Modul Roomate "Familie" = home + TW = on dann licht an in Küche Bad und Wohnzimmer.

Kannst du dazu mal noch ein paar Worte verlieren, bzw. vielleicht sogar Bilder. Ich bin absoluter Neuling (Habe zwar vielerorts schon LED "Birnen" E14/E27) aber das mit den LED Streifen interessiert mich. Du nutzt die Streifen zum "ausleuchten" eines Zimmers oder als Stimmungslicht und dann nur das "richtige" Licht wenn du den Raum betrittst selber an machen oder ist es in den Zimmern bei dir dann wirklich auch bei Nacht so hell das man darin z.B. Küche kochen/schnibbeln kann?

Ich suche nämlich gerade nach LED Streifen und auch wie ich die am besten wo einsetzen kann. Für Tipps dazu wie du das gelöst hast wäre ich dankbar, auch wenn es nicht direkt was mit der FHEM Instanz selbst zu tun hat : 8)

noanda

#25
@rretsiem: Musst mal abwarten das es Dunkel war gestern. Ich kaufe die Teile immer beim Großen A. Dazu ein Trafo für LED.

in der Kühe sind die LED Weiss und gehen demnach nur aus und an. mit 20Watt sieht es dann so aus wie auf dem Foto und ich habe mir noch nicht in die Pfoten geschnitten (nicht wegen Licht) Vorischt die das selbstklebend hält ca. 10 min. Ich habe die dinger in eine 0,5 cm U-Schiene aus ALU mit Industriekleber oder Silikon geklebt. Die Übergängen zum stecken sind MIST!!! lieber löten.


Im Wohnzimmer habe ich auch 20 Watt laufen, aber farbig, die Steuerung läuft über so ein teil: http://forum.fhem.de/index.php/topic,20075.msg136346.html#msg136346

Wir haben dazu dann a 2 Wasen einfach die Streifen angebracht. Meinem Innenministerium zuliebe habe ich die Deckenlampe noch nicht GeFhemt, aber brauchen tun wir die nicht mehr es ist Hell genug.

Als letztes noch ein Foto vom Gang mit 10 Watt.

Ich finde es reicht locker.
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

lindenkracher

Hi noanda,
finde deine Idee mit dem Alu-Profil super. Könntest Du ein Detailfoto einstellen? War das Profil vom großen A oder aus dem Baumarkt?

Danke Gerd
1x Raspi 3+
Einige FS20
div. 1-Wire Komponenten

rretsiem

Das sieht ja wirklich hell genug aus. Hast du einen Tipp für die Led Streifen da gibt es ja unendliche Vielfalt. Welche verwendest du und kannst die weiterempfehlen?

Ich habe in 2 Wochen 10 Tage Urlaub, ich glaube ich weiß wofür der gebraucht wird

noanda

Hallo,

also eigentlich ist es recht egal woher Du das Profil nimmst ich habe es aus dem Baumarkt. Als lichter nehme ich in der Küche 
Zitat5M SMD 3528 300 LEDs 12V IP65 Staubdicht Wasserdicht LED
Ist in der Küche einfach besser wegen dem Wasserdampf usw. du muss dann halt immer ein Stück vom Gummi mit einem Teppichmesser wegschneiden, Kabel auflöten und gut. lass Dir hinten immer 1 cm platz damit du die Kabel ausführen kannst.

Bei den Farbigen habe ich die einfachen genommen.
ZitatRGB 5050 600 SMD LED Strip
für mich reichen die aus. Wichtiger ist, dass Du genug Strom aus dem Trafo bekommst.

Und nimm einen ordentlichen Industriekleber, alles andere ist Mist.
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

rretsiem

Danke für die Infos.
Wie steuerst du denn die weißen und die RGBs an, bei den einfachen weißen hätte ich an einen Trafo gedacht und davor eine Funksteckdose?

Welches Modul benutzt du für die RGBs? Gibt ja mittlerweile eine gute Auswahl in FHEM.

noanda

bei den Weissen ist es nur eine Fuksteckdose vor dem Trafo. Bei den anderen ist es wie gesagt ein Steuerelement aus diesem Beitrag: http://forum.fhem.de/index.php/topic,20075.msg136346.html#msg136346

Die Frage ist wie steuerst Du Deine Aktoren an 433 ?

und wenn mit welchem Sender ?
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

rretsiem

Im Moment bin ich noch am evaluieren. Ich habe 6 Elro AB420 Funksteckdosen welche ich bereits seit langem auch ohne Fhem einsetze.
Das funktioniert auch mit Fhem bisher ganz prima. Außerdem habe ich bereits ein Homematic USB Adapter für meine Heizungsthermostate. Es wäre also durchaus für mich möglich hier auch HM Komponenten einzusetzen, wo sinnvoll, weil teurer aber Rückkanal.

rretsiem

Muss noch mal bei deiner Heizungssteuerung einhaken:

Zitat von: noanda am 28 Februar 2015, 11:27:09

Die Heizung ist von 2 Schaltern abhängig, einer wird manuell gesetzt und unterscheidet ob Sommer oder ,,Winter". Ich kann mich gerade nicht Erinnern warum der Sensor über einen Dummy (HZGHilfschalterTEMPD ) läuft aber ich werde wohl einen Grund gehabt haben. Die Heizung läuft also hier auf 2 Bedingung Außentemperatur niedriger 16 und  Winter. Um zu vermeiden das in den Übergangszeiten die Heizung zu früh angeht, oder ein paar Stunden am Tag läuft hier die Unterscheidung Somme/ Winter.

define HZGHauptschalterD dummy
attr HZGHauptschalterD devStateIcon Sommer:weather_summer@black:Winter Winter:weather_winter@black:Sommer
attr HZGHauptschalterD fp_Home 700,990,0,
attr HZGHauptschalterD fp_WPlan 483,1380,0,
attr HZGHauptschalterD setList state:Sommer,Winter
attr HZGHauptschalterD webCmd state

define HZGStatusD dummy
attr HZGStatusD devStateIcon on:sani_heating_automatic@black:off off:sani_heating_temp@black:on
attr HZGStatusD fp_WPlan 572,1380,0,
attr HZGStatusD setList state:on,off
attr HZGStatusD webCmd state

define HZGHilfschalterTEMPD dummy
attr HZGHilfschalterTEMPD devStateIcon on:temp_temperature_min@black off:temp_temperature_max@black
attr HZGHilfschalterTEMPD fp_WPlan 528,1380,0,
attr HZGHilfschalterTEMPD setList state:on,off
attr HZGHilfschalterTEMPD webCmd state

define HZGTEMPNTFY notify (SensorTEMLOG) \
IF ([SensorTEMLOG:temperature] >= 16) (set HZGHilfschalterTEMPD off) ELSE (set HZGHilfschalterTEMPD on)

define HZGAnzeige notify (HZGHauptschalterD|HZGHilfschalterTEMPD) IF ([HZGHauptschalterD] eq "Winter" && [HZGHilfschalterTEMPD] eq "on") (set HZGStatusD on) ELSE (set HZGStatusD off)


Ich sehe da zwar das du dir Dummies definierst damit diese im Florian angezeigt/gesteuert werden können, aber was lösen die denn aus bei dir? Steuerst du damit die HM-Thermostate direkt oder einen Brenner? Das würde mich an der Stelle noch interessieren.
Das Licht steuerst du über Abwesenheitserkennung und auch mit der "Feiertagssteuerung", hat das einen Grund wieso du das nicht für die Heizung implementiert hast?

noanda

Hallo einen Brenner kann ich nicht steuern, da wir in einer Mietwohnung Leben und Fehrnwärem haben. die HM an den Heizungen bekommen die Temperatur über Light scene. Also eigentlich übergibt Light scene an einen Dummy. Wegen den Magnetkontakten, und gleicht dann ab.

define HZGKUENTFY notify (MelderFENKUE|HZGStatusD|LSKUE) IF ([MelderFENKUE] eq "off" and ([HZGStatusD] eq "on")) (set KUEHeizungK04 [KUEHeizungD]) ELSE (set KUEHeizungK04 controlManu off)
attr HZGKUENTFY room Küche
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo