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 18 August 2017, 12:02:46
Ich frage mal konkreter: Was hälst Du von HomeCMD-Attributen zur Steuerung von solchen (Teil-)RESIDENTS?

Ich persönlich halte nichts davon, da es ja gerade bei der Steuerung durch die RESIDENTS darum geht den Gesamtstatus zu beeinflussen.
Es spricht aber m.E. nichts dagegen für diesen Fall ein weiteres HOMEMODE Device anzulegen, welches nur für diese Teil-RESIDENTS zuständig ist.

Gruß
Dan

P.S. Ich möchte die Komplexität nicht durch die Einbringung mehrerer RESIDENTS Devices drastisch erhöhen und somit auch wieder reichlich mehr Attribute zur Verfügung stellen müssen.
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

darkness

Hallo Zusammen,

gibt es eigentlich eine Möglichkeit in Homemode eine Verzögerung zur Benachrichtigung einzustellen?

Ich habe folgenden Aufbau:

Anwesenheitserkennung über BT-Tag.

Wenn ich weg gehe wird entsprechend der Status ArmAway gesetzt. Da ich aber neben der Wohnungstür einen Bewegungsmelder habe bekomme ich über HOMEMODE die Benachrichtigung, dass eben dieser ausgelöst hat (nachdem ich raus bin).
Öffne ich danach die Garage, kommt dort ebenfalls eine Benachrichtigung.

Schön wäre hier sowas wie setzte ArmAway, aber erst nach x Minuten.

Oder habe ich es einfach übersehen?

Danke und Gruß

DeeSPe

Zitat von: darkness am 25 August 2017, 10:49:19
Schön wäre hier sowas wie setzte ArmAway, aber erst nach x Minuten.

Oder habe ich es einfach übersehen?

Ja, hast Du übersehen.
Schau mal nach dem Attribut HomeModeAlarmArmDelay.

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


darkness

Hallo Dan,

ich habe heute ein wenig mit dem Attribut HomeModeAlarmArmDelay getestet.

Laut Anleitung sollte ein

attr DEVICE HomeModeAlarmArmDelay 300 0 0 den armaway für 5 Minuten verzögern und die anderen beiden sofort schalten lassen, oder?

Bei mir werden aber alle Alarmmodi jetzt jeweils 5 Minuten verzögert.

Gruß

DeeSPe

Zitat von: darkness am 27 August 2017, 18:53:54
Hallo Dan,

ich habe heute ein wenig mit dem Attribut HomeModeAlarmArmDelay getestet.

Laut Anleitung sollte ein

attr DEVICE HomeModeAlarmArmDelay 300 0 0 den armaway für 5 Minuten verzögern und die anderen beiden sofort schalten lassen, oder?

Bei mir werden aber alle Alarmmodi jetzt jeweils 5 Minuten verzögert.

Gruß

Muss ich mir bei Gelegenheit genauer ansehen!
Das kann aber eine Weile dauern, da ich zur Zeit anderwärtig sehr gut eingespannt bin.
Schreibe es auf die ToDo Liste.

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

Zitat von: darkness am 27 August 2017, 18:53:54
Laut Anleitung sollte ein

attr DEVICE HomeModeAlarmArmDelay 300 0 0 den armaway für 5 Minuten verzögern und die anderen beiden sofort schalten lassen, oder?

Bei mir werden aber alle Alarmmodi jetzt jeweils 5 Minuten verzögert.

Mit der soeben eingecheckten Version 1.1.7 ist das Problem behoben.

Wie immer ab morgen früh im Update oder sofort in SVN.

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

darkness

Zitat von: DeeSPe am 28 August 2017, 12:02:35
Das kann aber eine Weile dauern, da ich zur Zeit anderwärtig sehr gut eingespannt bin.
Gruß
Dan

Na, wenn das deine Definition von eine Weile ist  ;D


Vielen Dank dafür!

Gruß

DeeSPe

Zitat von: darkness am 29 August 2017, 14:02:21
Na, wenn das deine Definition von eine Weile ist  ;D


Vielen Dank dafür!

Es wurmt mich wenn was nicht wie gedacht/angegeben funktioniert!
In diesem Fall war es auch recht einfach zu finden. ;)

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

Hi Dan,
ich würde gerne die PERL-Funktion OldValue() in einem HomeCMD-Attribut verwenden.
Leider liefert OldValue() in HOMEMODE den gleichen Wert wie Value().

In einem notify dagegen liefert OldValue() den korrekten vorherigen Wert.
Was mache ich falsch?
VG Sebastian

darkness


moppy

Servus,

vielen Dank für das tolle Modul, verwende es jetzt schon länger und bin sehr zufrieden mit der einfachen Einrichtung und Funktionsvielfalt.

Ich habe mich gefragt wie man die Wiederholung eines Kommandos verzögern könnte (mir geht es ganz speziell um HomeCMDalarmTriggered-on). Damit stelle ich einen Alarmton auf meiner Squeezebox ein. Nun wird der Alarm allerdings ständig neu gestartet wenn eine erneute Bewegung des selben oder eines anderen Sensors erfasst wird. Ich würde gerne einstellen können, dass das CMD bei alarmTriggered nur alle 20 Sekunden ausgeführt werden kann.

Hat jemand einen Tipp?

lg, Emanuel
Intel NUC7i5 - Proxmox
HP Microserver Gen8 3,3ghz Xeon
http://coldcorner.de

DeeSPe

Zitat von: moppy am 11 September 2017, 16:18:20
Servus,

vielen Dank für das tolle Modul, verwende es jetzt schon länger und bin sehr zufrieden mit der einfachen Einrichtung und Funktionsvielfalt.

Ich habe mich gefragt wie man die Wiederholung eines Kommandos verzögern könnte (mir geht es ganz speziell um HomeCMDalarmTriggered-on). Damit stelle ich einen Alarmton auf meiner Squeezebox ein. Nun wird der Alarm allerdings ständig neu gestartet wenn eine erneute Bewegung des selben oder eines anderen Sensors erfasst wird. Ich würde gerne einstellen können, dass das CMD bei alarmTriggered nur alle 20 Sekunden ausgeführt werden kann.

Hat jemand einen Tipp?

lg, Emanuel

Das ist bisher so nicht vorgesehen.
Ich überlege mir mal was dazu.

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

Christian Uhlmann

Hallo zusammen,

ich habe da mal eine Frage, vielleicht ist es auch kein HOMEMODE spezifisches Problem aber ich hoffe mir kann hier jemand helfen oder auf den richtigen weg bringen.

Ich nutze einige ESPEasy Devices mit Bewegungsmeldern. Da kommt es schon mal vor, das ein ESPEasy Device 2 angeschlossene Bewegungsmelder hat.
Also habe ich für die Integration in dieses Modul als auch in die Integration des FHEMWEB einen RedingsProxy angelegt.
Leider triggert dieser das Homemode Modul nicht.

relevante Config des Homemode Moduls:

attr SYS.Home HomeSensorsMotion subType=motionDetector
attr SYS.Home HomeSensorsMotionReadings state sabotageError
attr SYS.Home HomeSensorsMotionValues motion


wird aber im readingsProxy Device dann überschrieben.
readingsProxy:

Internals:
   CFGFN
   DEF        <ESPEasy-Device>:<reading>
   DEVICE     <ESPEasy-Device>
   NAME       <readingsProxy-Device>
   NOTIFYDEV  global,<ESPEasy-Device>
   NR         431703
   NTFY_ORDER 50-<readingsProxy-Device>
   READING    <reading>
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     <ESPEasy-Device> 1
   Helper:
     DBLOG:
       state:
         SYS.DbLog:
           TIME       1505821447.16235
           VALUE      off
   READINGS:
     2017-09-19 13:44:07   logstate        off
     2017-09-19 13:44:07   motion          off
     2017-09-19 13:44:07   state           off
   helper:
     bm:
       readingsProxy_Attr:
         cnt        8
         dmx        0
         mAr
         mTS
         max        0
         tot        0
       readingsProxy_Get:
         cnt        75
         dmx        0
         mAr
         mTS
         max        0
         tot        0
       readingsProxy_Notify:
         cnt        625
         dmx        0
         mTS        19.09. 11:32:34
         max        4
         tot        460
         mAr:
           HASH(0x564c9ecf1608)
           HASH(0x564c98bde780)
       readingsProxy_Set:
         cnt        468
         dmx        0
         mAr
         mTS
         max        0
         tot        0
Attributes:
   HomeModeAlarmActive armaway
   HomeReadings state
   HomeSensorLocation inside
   HomeValues on
   genericDeviceType MotionSensor
   group      Bewegung
   icon       people_sensor
   room       EGFlur
   showtime   1
   subType    motionDetector
   userReadings motion { ReadingsVal($name,"state","off") },
logstate { ReadingsVal($name,"state","unknown") }
   userattr   HomeModeAlarmActive HomeReadings HomeSensorLocation:inside,outside HomeValues showtime:1,0 subType:motionDetector


Wenn ich zum testen das ESPEasy Device mal zu einem MotionSensor ändere und damit die direkte Überwachung von Homemode aktiviere klappt alles einwandfrei.
Ich möchte das aber gerne auf den readingsProxy laufen lassen, wegen mehrere Bewegungsmelder je ESPEasy Device.

Weiß jemand ob das ein Bug in Homemode ist oder ob ich was falsch mache oder ob das so überhaupt nicht geht?

Habe es testhalber mal mit einem dummy und einem dazugehörigen readingsProxy ausprobiert, gleiches Ergebnis.
Der readingsProxy wird im Homemode Modul im Internal SENSORSMOTION und NOTIFYDEV angezeigt aber ein set <dummy> on wird nicht im Homemode Modul registriert.

<dummy device> zum on off setzen:

defmod motion dummy
attr motion userattr showtime:1,0 subType:motionDetector
attr motion readingList egflur,state
attr motion room Test
attr motion setList egflur:on,off state:opened,closed
attr motion stateFormat egflur
attr motion webCmd egflur on:egflur off


readingsProxy auf das eine reading im dummy:

defmod rp.motion readingsProxy motion:egflur
attr rp.motion userattr HomeModeAlarmActive HomeReadings HomeSensorLocation:inside,outside HomeValues showtime:1,0 subType:motionDetector
attr rp.motion HomeModeAlarmActive armaway
attr rp.motion HomeReadings state
attr rp.motion HomeSensorLocation inside
attr rp.motion HomeValues on
attr rp.motion genericDeviceType MotionSensor
attr rp.motion group Bewegung
attr rp.motion icon people_sensor
attr rp.motion room Test
attr rp.motion showtime 1
attr rp.motion subType motionDetector
attr rp.motion userReadings motion { ReadingsVal($name,"state","off") },\
logstate { ReadingsVal($name,"state","unknown") }


damit lässt sich das sehr einfach nachstellen.


Danke und Grüße

Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Esjay

Könnte das dein Problem sein?

https://forum.fhem.de/index.php/topic,76823.0.html

Grüße