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

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

Vorheriges Thema - Nächstes Thema

DeeSPe

Ein kleiner Workaround:
HomeCMDmodeAlarm-disarm {
  my $alias = "%ALIAS%";
  $alias = "Inge und Peter" if (ReadingsVal("ZWave_ENTRY_CONTROL_4","KEYID","") eq "ID-FÜR-BEIDE");
  fhem "set Alarmanlage off; set Tablet_Flur ttsmsg Alarmanlage abgeschaltet Herzlich Wilkommen zuhause $alias!;set TelegramBot msg Alarmanlage abgeschaltet";
}


KEYID und ID-FÜR-BEIDE entsprechend ersetzen, "Inge und Peter" auch. 8)

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

Klappt der von mir gezeigte Workaround und wenn ja ist dieser Weg für Dich okay?
Ansonsten wäre mir noch eingefallen neben "HomeModeAlarmArmDelay" noch "HomeModeAlarmDisarmDelay" einzuführen. Das nur auf 1 Sekunde gesetzt sollte das Problem der noch nicht befüllten %ARRIVERS% auch lösen können. Einen anderen möglichen Sinn sehe ich aber auch nicht in dem Attribut.

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

Esjay

#497
Zitat von: DeeSPe am 23 Mai 2017, 20:08:40
Klappt der von mir gezeigte Workaround und wenn ja ist dieser Weg für Dich okay?
Ansonsten wäre mir noch eingefallen neben "HomeModeAlarmArmDelay" noch "HomeModeAlarmDisarmDelay" einzuführen. Das nur auf 1 Sekunde gesetzt sollte das Problem der noch nicht befüllten %ARRIVERS% auch lösen können. Einen anderen möglichen Sinn sehe ich aber auch nicht in dem Attribut.

Gruß
Dan

Hi Dan,
ich hab mich gerade wieder vor den PC gesetzt. Er spukt gerade noch Unrecognized character \xC2; marked by <-- HERE after <-- HERE near column 1 at (eval 966394) line 2.

aus. Meinetwegen erstmal kein neues Attribut. Aber danke!!

Edit sagt : Mir stellt sich gerade die Frage ob es nicht Sinnvoller ist, die Begrüßung über "HomeCMDmode-home-resident" bzw. "HomeCMDmode-home-resident-rr_xxx" zu realisieren

DeeSPe

Zitat von: Esjay am 23 Mai 2017, 20:40:29
Er spukt gerade noch Unrecognized character \xC2; marked by <-- HERE after <-- HERE near column 1 at (eval 966394) line 2.


Diese Meldung kenne ich, das sieht nach einem fehlerhaften Leerzeichen aus. Habe mich auch schon gefragt wie das zustande kommen kann, ist aber nicht HOMEMODE spezifisch! Check mal die Leerzeichen (nicht sichtbaren Zeichen).

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

Esjay

Zitat von: DeeSPe am 23 Mai 2017, 20:55:07
Diese Meldung kenne ich, das sieht nach einem fehlerhaften Leerzeichen aus. Habe mich auch schon gefragt wie das zustande kommen kann, ist aber nicht HOMEMODE spezifisch! Check mal die Leerzeichen (nicht sichtbaren Zeichen).

Gruß
Dan
Wieder was gelernt. Hab einfach komplett alle Leerzeichen entfernt, und schon nimmt er es! Danke

binford6000

Hi Dan,
habe mal wieder ein merkwürdiges Verhalten, diesmal bei HomeCMDmotion-on
{
if ("%SENSOR%" eq "BWM_Kueche" && "%PRESENT%" == "1" && "%MODE%" ne "asleep" && "%LIGHT%" <= "3") {
    fhem "set Archos.PC screen on";
    fhem "set SteckdoseIT2 on";
  }
}
wird ausgeführt ohne Fehlermeldung. Allerdings nur der erste Befehl! Der zweite (ein Dummy) wird nicht ausgeführt?!
set SteckdoseIT2 on in der Befehlszeile oder im Device selbst funktioniert aber...
Irgendeine Idee?
VG Sebastian

DeeSPe

Zitat von: binford6000 am 28 Mai 2017, 21:27:55
Hi Dan,
habe mal wieder ein merkwürdiges Verhalten, diesmal bei HomeCMDmotion-on
{
if ("%SENSOR%" eq "BWM_Kueche" && "%PRESENT%" == "1" && "%MODE%" ne "asleep" && "%LIGHT%" <= "3") {
    fhem "set Archos.PC screen on";
    fhem "set SteckdoseIT2 on";
  }
}
wird ausgeführt ohne Fehlermeldung. Allerdings nur der erste Befehl! Der zweite (ein Dummy) wird nicht ausgeführt?!
set SteckdoseIT2 on in der Befehlszeile oder im Device selbst funktioniert aber...
Irgendeine Idee?
VG Sebastian

Ich wüßte nicht warum das nicht funktionieren sollte.
Für den Gebrauch (und Vergleich) von Zahlen empfehle ich aber folgende Schreibweise:
{
if ("%SENSOR%" eq "BWM_Kueche" && %PRESENT% && "%MODE%" ne "asleep" && %LIGHT% <= 3) {
    fhem "set Archos.PC screen on;set SteckdoseIT2 on";
  }
}


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

peter0255

Hallo,

ich habe mir zusätzliche Fensterkontakte von HM zugelegt, werden im HomeMode erkannt und hinzugefügt aber im Dev selbst fehlen mir die ganzen Attr. wie zb Home ContactTyp. Bei den bereits bestehenden sehe ich die Attr in der Auswahl.

Gruß
Peter

DeeSPe

Wie sind die Kontakte in HOMEMODE hinzugefügt?
Zeig mal bitte Dein Attribut HomeSensorsContact.

Eigentlich sollte die Funktion, die die Änderungen dieses Attribut überwacht, neue Sensoren des selben devspec selbst erkennen wenn Du den selben devspec wieder hinzufügst. Dementsprechend sollten auch die Attribute hinzugefügt werden. Wie gesagt, sollte! 8)

Im einfachsten Falle könntest Du die Attributnamen die mit Home beginnen aus dem userattr eines bereits hinzugefügten Sensors kopieren und bei dem hinzufügen wo sie fehlen.

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

peter0255

Danke Dan,

habe es in die .cfg kopiert, ging am schnellsten.

Gruß
Peter

kjmEjfu

Zitat von: DeeSPe am 31 Mai 2017, 09:52:32
Eigentlich sollte die Funktion, die die Änderungen dieses Attribut überwacht, neue Sensoren des selben devspec selbst erkennen wenn Du den selben devspec wieder hinzufügst. Dementsprechend sollten auch die Attribute hinzugefügt werden. Wie gesagt, sollte! 8)

Da habe ich auch immer wieder Probleme mit. Muss dann erst die devspec in eine andere ändern und beim "Zurücksetzen" auf die alte funktioniert es.
Wäre irgendwie praktisch, wenn man ne set-Funktion hätte, die dann alle Geräte auf die die devspec passt durchgeht und - wo fehlend - die Attribute ergänzt.
Migriere derzeit zu Home Assistant

DeeSPe

Zitat von: kjmEjfu am 31 Mai 2017, 10:56:55
Da habe ich auch immer wieder Probleme mit. Muss dann erst die devspec in eine andere ändern und beim "Zurücksetzen" auf die alte funktioniert es.
Wäre irgendwie praktisch, wenn man ne set-Funktion hätte, die dann alle Geräte auf die die devspec passt durchgeht und - wo fehlend - die Attribute ergänzt.

Leider geht mein gedachtes Konzept nicht ganz auf.
Wenn devspec genau gleich ist werden die Attribute nicht neu vergeben.
Ich überlege mir mal was dazu. Evtl. ein set Kommando ala "set <HOMEMODE> applyMissingAttributes <contact/motion>".

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

ComputerZOO

Moin Dan,
wäre es evtl. möglich neben HomeCMDuwz-warn-begin und HomeCMDuwz-warn-end noch ein HomeCMDuwz-warn-update hinzuzufügen?
Hintergrund ist folgender: Heute Nacht kam 01:45 eine Warnung rein und im Laufe des Tages folgten weitere Warnungen, ohne das die erste Warnung beendet wurde. Mit einem update könnte man auch Aktionen ausführen, wenn sich der UWZCOUNT ändert, ohne das er vorher von UWZ zurückgesetzt wurde.

DeeSPe

Zitat von: ComputerZOO am 06 Juni 2017, 19:19:52
Moin Dan,
wäre es evtl. möglich neben HomeCMDuwz-warn-begin und HomeCMDuwz-warn-end noch ein HomeCMDuwz-warn-update hinzuzufügen?
Hintergrund ist folgender: Heute Nacht kam 01:45 eine Warnung rein und im Laufe des Tages folgten weitere Warnungen, ohne das die erste Warnung beendet wurde. Mit einem update könnte man auch Aktionen ausführen, wenn sich der UWZCOUNT ändert, ohne das er vorher von UWZ zurückgesetzt wurde.

Es wäre ein nicht unerheblicher Programmieraufwand das zu implementieren und einen wirklichen Nutzen sehe ich darin (bisher) nicht, da mir ein richtiger Use-Case dafür fehlt.
M.E. könnte das auch eher Verwirrung stiften: wann benutze ich was!?
Ehrlich gesagt weiß ich auch nicht ob die numerische Reihenfolge immer die selbe bleibt wenn der UWZ-Zähler aktualisiert wird, denn ich möchte auch keine Readings-Daten redundant irgendwo speichern müssen, die dann zum Vergleich dienen könnten.

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

v1.1.3 habe ich soeben eingecheckt.

Changelog:

  • add userattr to sensors with same devspec
  • new reading lastInfo - will be set when clicking on an info item to remember the last state of the infopanel

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