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

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

Vorheriges Thema - Nächstes Thema

DeeSPe

Zitat von: binford6000 am 08 Mai 2017, 10:07:39
Moin Dan,

habe auf 1.03 aktualisiert. Das Reading "UWZ_WARNCOUNT" taucht aber nach wie vor nicht auf.
Trotz updateInternalsForce...

Hier nochmal das aktuelle List vom UWZ-Device:

Internals:
   CountryCode DE
   DEF        DE 60000 7200
   INTERVAL   7200
   NAME       Unwetterzentrale
   NR         594
   PLZ        60000
   STATE      Warnungen: 0
   TYPE       UWZ
   URL        http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=UWZDE60000
   VERSION    1.4.7
   Readings:
     2017-05-08 08:26:25   WarnCount       0
     2017-05-08 08:26:25   WarnUWZLevel    0
     2017-05-08 08:26:25   WarnUWZLevel_Color gruen
     2017-04-28 21:34:40   Warnungen       0
     2017-05-08 08:26:25   durationFetchReadings 1.00
     2017-05-08 08:26:25   lastConnection  4 values captured in 1.00 s
     2017-05-08 08:26:25   state           Warnungen: 0
   Fhem:
     LOCAL      0
   Helper:
Attributes:
   icon       weather_wind
   room       Umwelt
   verbose    2


VG Sebastian

Danke für die Rückmeldung.
Ich habe nochmals etwas umgebaut und v1.0.4 gerade eingecheckt.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Habe gerade beim Verlassen bemerkt dass HomeAutoPresence nicht mehr funktioniert und mein ROOMMATE nicht abwesend gesetzt wurde.
Habe das noch gefixt und gerade eingecheckt!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

binford6000


DeeSPe

Zitat von: binford6000 am 08 Mai 2017, 14:42:05
Mit der 1.04 geht UWZ jetzt.  Danke! :D

VG Sebastian

Danke für die Rückmeldung.
Lustiger Weise war die UWZ Integration kaum richtig bei mir, schon kam auch eine UWZ Warnung rein! Das ist das erste Mal bei mir das UWZ eine Warnung gab seit der Erstintegration. Zufälle gibt es manchmal...

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

binford6000

Zitat von: DeeSPe am 08 Mai 2017, 15:15:58
Danke für die Rückmeldung.
Lustiger Weise war die UWZ Integration kaum richtig bei mir, schon kam auch eine UWZ Warnung rein! Das ist das erste Mal bei mir das UWZ eine Warnung gab seit der Erstintegration. Zufälle gibt es manchmal...

Gruß
Dan

Bei mir auch [emoji1360]
Kaum dass der Restart erfolgte machts auch schon "Ping" und die uwz_short kam herein [emoji2]


Gesendet von iPhone mit Tapatalk

DeeSPe

Ist noch niemanden aufgefallen dass beim Ankommen der/die falsche RESIDENT benachrichtigt wird dass die Alarmanlage ausgeschaltet wurde, nämlich nicht der/die zuletzt angekommene sondern der/die von davor!? ???
Den Fix dafür habe ich gerade im Test.
Wenn das nun so funktioniert wie ich mir das vorstelle, dann checke ich das heute Abend ein.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mando667

Hallo zusammen,

vorab, klasse Modul, vielen Dank dafür!

Ich habe folgendes Problem bei der Alarmauslösung in Verbindung mit EnOcean Bewegungsmeldern, die Konfiguration ist anhand der Beispiele in Beitrag 1 umgesetzt.

Das Update Intervall des Bewegungsmelders liegt bei 15min, wenn ich nun die Wohnung verlasse stehen die Melder auf "on" und ich bekomme die "HomeCMDmodeAlarm-armaway" Nachricht. 5 min später wird Alarm ausgelöst und ich bekomme die "HomeCMDalarmTriggered-on" Nachricht. Das liegt wohl daran, dass die Bewegungsmelder nach wie vor auf "on" stehen.
Die entsprechenden Lists der Geräte habe ich angehängt.

Kann mir jemand weiterhelfen was hier nicht zusammenpasst?

Besten Dank!

LG Julian


EnOcean Bewegungsmelder:
Internals:
   DEF        018544AF
   IODev      TCM310_0
   NAME       EnO_018544AF
   NR         264
   NTFY_ORDER 50-EnO_018544AF
   STATE      off
   TYPE       EnOcean
   Readings:
     2017-05-12 10:50:56   battery         ok
     2017-05-12 10:50:56   current         57.5
     2017-05-12 10:50:56   motion          off
     2017-05-12 10:50:56   sensorType      ceiling
     2017-05-12 10:50:56   state           off
     2017-03-07 13:14:34   teach           4BS teach-in accepted EEP A5-07-01 Manufacturer: EnOcean GmbH
     2017-05-12 10:50:56   voltage         4.3
Attributes:
   DbLogExclude .*
   HomeModeAlarmActive armaway
   HomeSensorLocation inside
   IODev      TCM310_0
   alias      Bewegungsmelder_Decke
   eep        A5-07-01
   event-on-change-reading motion
   genericDeviceType OccupancySensor
   homebridgeMapping OccupancyDetected=motion,values=on:1;off:0
   manufID    00B
   room       EnOcean,Homekit
   siriName   Decke
   subType    occupSensor.01
   teachMethod 4BS
   userattr   HomeModeAlarmActive HomeReadings HomeSensorLocation:inside,outside HomeValues


Einstellungen HomeSensorMotion beim Homemode Device:

   HomeSensorsMotion EnO_018544AF,EnO_01841FFC
   HomeSensorsMotionReadings motion sabotageError
   HomeSensorsMotionValues on|on
   
   HomeCMDalarmTriggered-on {
  my $t = "%ALARM%";
  my $s = "ist";
  $s = "sind" if ($t =~ /und/);
  fhem "msg audio,light 2 ALARM! $t $s ausgelöst!";
}

   HomeCMDmodeAlarm-armaway {
  my $t;
  $t .= "Bis bald und auf Wiedersehen %ALIAS%... Die Alarmanlage ist nun scharf geschaltet!" if ("%RESIDENT%" ne "rr_Julian");
  my $trig = "%ALARM%";
  my $is = $trig =~ /und/ ? "sind" : "ist";
  $t .= " ACHTUNG: $trig $is noch offen!!!" if ($trig);
  $t .= " ACHTUNG: Es ist %TEMPERATURE%°C kalt! Somit könnte es glatt werden!" if ("%ICE%");
  fhem "msg audio \@%RESIDENT% $t" if ($t);
}

DeeSPe

Zitat von: mando667 am 12 Mai 2017, 11:24:28
   HomeSensorsMotionValues on|on

Das zweite on kannst Du schon mal weglassen, ein Regex mit 2x dem selben Wert ist nicht nötig.
   HomeSensorsMotionValues on

Allerdings versteh ich noch nicht ganz wieso ein erneutes Event ausgelöst wird obwohl der Wert (on) sich nicht verändert hat. Dafür ist doch "event-on-change-reading motion" gesetzt damit das nicht passiert.
Oder hast Du evtl. noch "event-min-interval" gesetzt welches nicht im list steht?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mando667

Hallo Dan,

nein, das ist das komplette List, "event-min-interval" ist nicht gesetzt.

Ich hab das ganze mal mit verbose=5 aufgezeichnet, es werden direkt beim verlassen beide aktive Bewegungsmelder mit alarmTriggered_ct: 2 vermerkt.

2017.05.12 11:57:00 2 : ROOMMATE set rr_Julian absent
2017-05-12 11:57:00 HOMEMODE Home presence: absent
2017-05-12 11:57:00 HOMEMODE Home prevLocation: home
2017-05-12 11:57:00 HOMEMODE Home location: underway
2017-05-12 11:57:00 HOMEMODE Home prevModeAlarm: disarm
2017-05-12 11:57:00 HOMEMODE Home modeAlarm: armaway
2017-05-12 11:57:00 HOMEMODE Home alarmTriggered_ct: 2
2017-05-12 11:57:00 HOMEMODE Home alarmTriggered: Bewegungsmelder_Wand und Bewegungsmelder_Decke
2017-05-12 11:57:01 msgConfig globalMsg fhemMsgAudio: ACHTUNG: Bewegungsmelder_Wand und Bewegungsmelder_Decke sind noch offen!!
2017-05-12 11:57:01 HOMEMODE Home mode: absent
2017-05-12 11:57:01 HOMEMODE Home prevMode: day
2017-05-12 11:57:01 HOMEMODE Home absent
2017.05.12 11:57:01 5 : Home: Events from monitored device Julian_iPhone: presence: absent
2017-05-12 11:57:01 PRESENCE Julian_iPhone presence: absent
2017.05.12 12:05:59 5 : Home: Events from monitored device EnO_01841FFC: motion: off
2017-05-12 12:05:59 HOMEMODE Home prevMotionClosed: EnO_01841FFC
2017-05-12 12:05:59 HOMEMODE Home alarmTriggered_ct: 1
2017-05-12 12:05:59 HOMEMODE Home alarmTriggered: Bewegungsmelder_Decke
2017.05.12 12:05:59 5 : Home: cmdnew: { my $t = "%ALARM%"; my $s = "ist"; $s = "sind" if ($t =~ /und/); fhem "msg audio,light 2 ALARM! $t $s ausgelöst!"; }
2017.05.12 12:05:59 4 : executed CMDs: { my $t = "Bewegungsmelder_Decke";; my $s = "ist";; $s = "sind" if ($t =~ /und/);; fhem "msg audio,light 2 ALARM! $t $s ausgelöst!";; }
2017-05-12 12:05:59 HOMEMODE Home motionsSensors: EnO_018544AF
2017-05-12 12:05:59 HOMEMODE Home motionsSensors_ct: 1
2017-05-12 12:05:59 HOMEMODE Home motionsSensors_hr: Bewegungsmelder_Decke
2017-05-12 12:05:59 HOMEMODE Home motionsInside: EnO_018544AF
2017-05-12 12:05:59 HOMEMODE Home motionsInside_ct: 1
2017-05-12 12:05:59 HOMEMODE Home motionsInside_hr: Bewegungsmelder_Decke
2017-05-12 12:05:59 EnOcean EnO_01841FFC motion: off
2017.05.12 12:05:59 5 : Home: Events from monitored device EnO_018544AF: motion: off
2017-05-12 12:05:59 HOMEMODE Home lastMotionClosed: EnO_018544AF
2017-05-12 12:05:59 HOMEMODE Home alarmTriggered_ct: 0
2017-05-12 12:05:59 HOMEMODE Home alarmTriggered:
2017.05.12 12:05:59 5 : Home: cmdnew: msg ENTWARNUNG: Alle Alarme sind beendet!
2017-05-12 12:06:00 EnOcean EnO_018544AF motion: off


Vielleicht kannst du aus dem Log noch etwas rauslesen?

DeeSPe

Ich kann kein Problem erkennen, außer dass die BWMs einfach zu lange brauchen um die Abwesenheit zu detektieren.
Um 11:57:01 wurde von PRESENCE erkannt dass Du abwesend bist, die Alarmmeldung geht raus weil noch zwei BWMs on sind.

Um 12:05:59 schaltet der erste BWM auf off, verschickt damit eine Nachricht dass nur noch ein BWM im Alarmzustand (on) ist.
1 Sekunde später schaltet auf der andere BWM auf off und damit kommt dann die Meldung dass alle Alarme beendet sind.

Ist also aus meiner Sicht genau so wie es sein soll.
Evtl. kannst Du an dem Sensor noch einstellen dass die Detektionszeit kürzer ist?
Bei meinen Fibaros dauert es nur ca. 30 Sekunden ohne Bewegung und sie gehen auf closed/off.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mando667

Ok, danke für die Infos! Dass man die Zeiten einstellen kann ist mir nicht bekannt, aber ich werde das mal weiterverfolgen bzw. auch zu den Fibaros wechseln.

DeeSPe

v1.0.5 ist eingecheckt.

Changelog:

  • fix using old lastActivityResident on arrival

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Amenophis86

#432
Habe gerade mal ein Update ausgeführt und FHEM neu gestartet, da kam folgender Fehler:

PERL WARNING: Use of uninitialized value $power in sprintf at ./FHEM/22_HOMEMODE.pm line 2615.

Kannst du damit was anfangen?

Edit:
Und bei mir steht das Reading "residentsTotalPresent" seit mehreren Tagen auf 0, obwohl sich der Status der Bewohner regelmäßig ändert und Resident funktioniert, wie es soll. Kann auch noch keinen Fehler finden. Wo suche ich am besten? Die Defintion von Homemode hat auch das richtige Define um auf das richtige RESIDENT Modul zu lauschen. "lastAbsentByResident" zB funktioniert ohne Probleme.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DeeSPe

Zitat von: Amenophis86 am 13 Mai 2017, 08:46:22
Habe gerade mal ein Update ausgeführt und FHEM neu gestartet, da kam folgender Fehler:

PERL WARNING: Use of uninitialized value $power in sprintf at ./FHEM/22_HOMEMODE.pm line 2615.

Kannst du damit was anfangen?

Edit:
Und bei mir steht das Reading "residentsTotalPresent" seit mehreren Tagen auf 0, obwohl sich der Status der Bewohner regelmäßig ändert und Resident funktioniert, wie es soll. Kann auch noch keinen Fehler finden. Wo suche ich am besten? Die Defintion von Homemode hat auch das richtige Define um auf das richtige RESIDENT Modul zu lauschen. "lastAbsentByResident" zB funktioniert ohne Probleme.

Moin,

gegen die benannte Perl Warnung habe ich gerade Fix eingebaut.

Das Reading "residentsTotalPresent" gibt es in HOMEMODE nicht. Das ist ein Reading vom RESIDENTS Device und hat nichts mit HOMEMODE zu tun. Bei mir funktioniert das allerdings wie es soll...

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Amenophis86

Dann frage ich mich, wie das Reading ins Homemode Modul gekommen ist :D

Danke für die Info und den Fix.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...