Neues Modul: 22_HOMEMODE.pm - grundlegende Automationen und mehr

Begonnen von DeeSPe, 07 Januar 2017, 15:59:43

Vorheriges Thema - Nächstes Thema

wolfram

Gleich nochmal ne blöde Frage hinterher:

Der Kontaktsensor meiner Wohnungstür ist ein Dummy:

Internals:
   NAME       D_Home
   NR         134
   STATE      Closed
   TYPE       dummy
   READINGS:
     2018-10-25 12:11:45   state           off
Attributes:
   HomeContactType doormain
   HomeModeAlarmActive armaway
   HomeValues on
   devStateIcon Closed.*:fts_door Open.*:fts_door_open
   eventMap   on:Open off:Closed
   genericDeviceType switch
   group      Contacts
   room       Contacts,Homekit,Wohnzimmer
   setList    on off
   siriName   Wohnungstür Dummy
   userattr   HomeModeAlarmActive HomeReadings HomeValues HomeContactType:doorinside,dooroutside,doormain,window HomeOpenMaxTrigger HomeOpenDontTriggerModes HomeOpenDontTriggerModesResidents HomeOpenTimeDividers HomeOpenTimes
   webCmd     :


D.h. der state ist entweder "on", oder "off". Das "on" (also Tür ist offen) bekomme ich getriggert indem ich das Attribut "HomeValues = on" gesetzt habe.

Frage: Wie bekomme ich den state "off" getriggert, um beispielsweise eine Begrüßung beim Nachhausekommen zu generieren?
Muss ich an den Dummy ran, oder kann ich das in HOMEMODE mappen?

Danke nochmals
wolf


binford6000

Da kann ich dir leider nicht weiterhelfen. Habe keine Kontakt-Sensoren im Einsatz.
Spricht was dagegen ohne eventmap zu arbeiten? Also setList open closed?

VG Sebastian

binford6000

Hallo Wolf,
ich habe es jetzt mal mit einem eigenen dummy getestet. So müsste es funktionieren:


Historie löschen
Internals:
   CFGFN     
   NAME       haustuer
   NR         15100
   STATE      open
   TYPE       dummy
   READINGS:
     2018-10-25 19:32:12   state           open
Attributes:
   HomeContactType doormain
   HomeModeAlarmActive armaway
   alias      Haustür
   devStateIcon closed.*:fts_door open.*:fts_door_open
   group      Wohnung
   icon       doorhandle
   room       30_Devices
   setList    open closed
   userattr   HomeModeAlarmActive HomeReadings HomeValues HomeContactType:doorinside,dooroutside,doormain,window HomeOpenMaxTrigger HomeOpenDontTriggerModes HomeOpenDontTriggerModesResidents HomeOpenTimeDividers HomeOpenTimes
   webCmd     open:closed


Und dann kannst du mit HomeCMDcontactDoormainOpen arbeiten.
VG Sebastian

wolfram

Hallo Sebastian,

danke nochmal für deinen Hinweis. Ich baue das heute abend mal um und berichte.

Liebe Grüße
wolf

Hubi22

#799
Guten Abend

ich hätte da eine Anfängerfrage: Wie bekommt man diese "erweiterte" Anzeige hin?

https://wiki.fhem.de/wiki/Datei:HOMEMODE_Device.png

Bei mir ist die HomeMode Anzeige einzellig und enthält nur den state. Bitte wie bekommt man die Werte darunter angezeigt ohne das device Homemode zu klicken?

Gruß, Hubi

binford6000

Über das Attribut
HomeAdvancedDetails
VG Sebastian


Gesendet von iPad mit Tapatalk


binford6000

Am besten du schaust mal ins Wiki: https://wiki.fhem.de/wiki/Modul_HOMEMODE
Da ist zu den meisten Funktionen und Attributen Hilfe zu finden  ;)

VG Sebastian

majestro84

Hallo
Ich habe eine Frage das HomePresenceDeviceType kann ja auch ein Dummy sein. Diesen habe ich angelegt mit dem Reading presence. Nur wie der leider nicht in Homemode gefunden. Wo liegt der Fehler komme da im Moment nicht weiter.
Vielen Dank für die Hilfe

Internals:
NAME Babysitter
NR 44
STATE absent
TYPE dummy
OLDREADINGS:
READINGS:
2018-11-21 16:20:50 presence absent
2018-11-21 16:05:08 state present
Attributes:
devStateIcon present:scene_party:absent absent:scene_office:present
icon scene_childs_room
readingList presence
room Haus
setList presence:present,absent
stateFormat presence
webCmd presence


Gesendet von meinem Redmi Note 4 mit Tapatalk

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

binford6000

#804
Hallo,
hast du auch ein ROOMMATE- oder ein Gast-device welches im Namen Babysitter drin hat?

EDIT:
Was steht im reading HomeInfo deines HOMEMODE-devices? Es sollte sowas darin auftauchen:
Gefunden wurden 1 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=dummy" für Bewohner "rr_Babysitter"! Übereinstimmende Geräte: "Babysitter"...

VG Sebastian

majestro84

Danke für den Wink natürlich ohne dieses kann es ja auch nicht funktionieren.
Gruß Alex

Gesendet von meinem Redmi Note 4 mit Tapatalk

Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

Spezialtrick

Vllt. kann mir jemand bei der Programmierung eines Attributs helfen.  :-[

Aktuell sieht mein "HomeCMDalarmTampered-on" Attribut wie folgt aus:

{
  my $is = "ist";
  $is = "sind" if (%TAMPEREDCT% > 1);
  fhem "msg push ACHTUNG: %TAMPEREDHR% $is sabotiert!";
  fhem "set HM_4F5A0F_Panic on";
}


So ist es natürlich nicht möglich Batterien der einzelnen Sensoren zu tauschen. Daher habe ich mir einen Wartungs-Dummy angelegt, der den State on und off annehmen kann. Zusätzlich wollte ich das "HomeCMDalarmTampered-on" Attribut dahingehend erweitern, dass lediglich dann Alarm ausgelöst wird, wenn Sensoren sabotiert wurden UND der Dummy Wartung den State off hat. Leider funktioniert es so nicht:

{
{
  if (%TAMPEREDCT% > 1) || (fhem "Wartung" eq "off")
{
  my $is = "ist";
  $is = "sind" if (%TAMPEREDCT% > 1);
  fhem "msg push ACHTUNG: %TAMPEREDHR% $is sabotiert!";
  fhem "set HM_4F5A0F_Panic on";
}
}
}


Ich erhalte diesen Fehler:

syntax error at (eval 94214) line 2, near ") ||"
syntax error at (eval 94214) line 9, near "}}"


Hat jemand vielleicht eine Idee oder einen Tipp für mich?
FHEM - Debmatic - Zigbee2MQTT - Homekit

binford6000

(fhem "Wartung" eq "off")
Was soll das denn sein?

VG Sebastian

Spezialtrick

Der State des Dummy.


Gesendet von iPhone mit Tapatalk Pro
FHEM - Debmatic - Zigbee2MQTT - Homekit

binford6000

Die Syntax hab ich noch nie gesehen. Hätte das jetzt so geschrieben:
if (%TAMPEREDCT% > 1 || Value('Wartung') eq "off")

VG Sebastian