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

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

Vorheriges Thema - Nächstes Thema

FranzB94

Hi DeeSPe!
Zitat von: DeeSPe am 20 Januar 2017, 12:10:17
Ich werde dazu in einem Update ein neues Reading (HomeInfo ??) einführen um nicht mehr das comment-Attribut zu missbrauchen!
Danke. Das ist doch eine gute Lösung.

Gruß Franz

ComputerZOO

Guten Abend/Morgen,
ZitatIM PERL-CODE MÜSSEN (WIE AUCH IN DER FHEM EINGABEZEILE) ALLE SEMIKOLON VERDOPPELT WERDEN!!!

Heißt das, das die auch z.B. bei at-Befehlen weiter verdoppelt werden müssen? Z.B. so?
fhem "define morgens at +00:01:00 set lampe1 on ;;;; set lampe2 off";;
(Es geht mir hier um die Verdoppelung der Semikolon innerhalb des at's.)

Desweitern ist mir noch aufgefallen, dass es verheerend ist, wenn man in den CMDs Zeilen mit einem "#" auskommentiert, bin darauf gestoßen als ich nach mehreren Versuchen einen CMD Stück für Stück zeilenweise neu erstellt habe, weil das ganze partout nicht funktionieren wollte.

DeeSPe

Zitat von: ComputerZOO am 22 Januar 2017, 01:10:32
Guten Abend/Morgen,
Heißt das, das die auch z.B. bei at-Befehlen weiter verdoppelt werden müssen? Z.B. so?
fhem "define morgens at +00:01:00 set lampe1 on ;;;; set lampe2 off";;
(Es geht mir hier um die Verdoppelung der Semikolon innerhalb des at's.)

Konnte es gerade selbst nicht mit Bestimmtheit sagen...
Aber: Funktioniert! Gerade selbst getestet!
Probiere am besten einfach alles genau so wie du es haben willst in der FHEM Eingabezeile aus. Wenn es da funktioniert, dann funktioniert es auch in den HomeCMD Attributen. ;)

Zitat von: ComputerZOO am 22 Januar 2017, 01:10:32
Desweitern ist mir noch aufgefallen, dass es verheerend ist, wenn man in den CMDs Zeilen mit einem "#" auskommentiert, bin darauf gestoßen als ich nach mehreren Versuchen einen CMD Stück für Stück zeilenweise neu erstellt habe, weil das ganze partout nicht funktionieren wollte.

Stimmt, in die Falle bin ich selbst schon mal getappt! ::)
Ich schreibe mal mit auf die ToDo Liste die Zeilen mit Kommentar beim Parsen herauszufiltern.

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

ZitatStimmt, in die Falle bin ich selbst schon mal getappt! ::)
Ich schreibe mal mit auf die ToDo Liste die Zeilen mit Kommentar beim Parsen herauszufiltern.

...es reicht ja vorerst vollkommen aus, wenn du direkt (fett und rot) unter dem Satz mit den doppelten Semikolon darauf hinweist..


Das at mit den vier Semikolon habe ich gerade mal eingefügt, mal sehen ob das so funktioniert, wie ich das gerne hätte.

Tolles Modul, hat mir FHEM schon ordentlich aufgeräumt, freue mich schon auf Updates.

DeeSPe

Zitat von: ComputerZOO am 22 Januar 2017, 01:32:48
...es reicht ja vorerst vollkommen aus, wenn du direkt (fett und rot) unter dem Satz mit den doppelten Semikolon darauf hinweist..

Ist erledigt! ;)

Zitat von: ComputerZOO am 22 Januar 2017, 01:32:48
Das at mit den vier Semikolon habe ich gerade mal eingefügt, mal sehen ob das so funktioniert, wie ich das gerne hätte.

Wie gesagt, testweise genau so in die Eingabezeile und Du siehst das Ergebnis sofort. :D

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

ZitatWie gesagt, testweise genau so in die Eingabezeile und Du siehst das Ergebnis sofort.

Moin,
ich nehme zum Testen von ganzen Konstrukten mit if und sleep usw. das "HomeCMDdnd-on" Attribut und rufe dann

set Wohnung dnd-for-minutes 1

auf. Damit wird die Funktion aufgerufen und getestet und dnd schaltet sich
automatisch wieder auf off. Für mich perfekt zum Testen und zur Fehlersuche... ;)

VG Sebastian

FranzB94

@DeeSPe: Es wäre schön, wenn neben"daytime" und "season" auch noch der aktuelle Wochentag $wday mit ermittelt und als Zahl/Text angezeigt würde. Man bräuchte es so nicht extra ermitteln. Vielleicht möchtest du das noch einbauen.

Gruß Franz

binford6000

Sollte schon gehen:

ZitatHab das heute mal getestet und die Variable $we kann auch jetzt schon innerhalb der HomeCMD Attribute verwendet werden. Zumindest hat sie heute bei mir brav den Wert 0 gehabt statt undef.
Es sind also bereits Automationen mit dieser Variable möglich.
$wday funktioniert ebenso.

Gruß
Dan

VG Sebastian

DeeSPe

Zitat von: binford6000 am 22 Januar 2017, 11:16:22
Sollte schon gehen:

VG Sebastian

Genau so ist es!
Warum hier $we und $wday nochmal extra als Readings geführt werden sollen, erschliesst sich mir gerade auch nicht.
Damit man etwas mit "ReadingsVal(.......)" abfragen kann was jetzt bereits in eigenen Variablen verfügbar ist??
Wozu?

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

FranzB94

...sorry, bei dem Vorschlag habe ich wohl noch nicht den Durchblick gehabt.  8)

DeeSPe

Zitat von: FranzB94 am 22 Januar 2017, 13:23:05
...sorry, bei dem Vorschlag habe ich wohl noch nicht den Durchblick gehabt.  8)

Macht doch nix!
Schön wenn Du "erleuchtet" wurdest! :D ;D

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 Dan,

habe das Modul die Tage mal ein wenig mehr in Augenschein genommen.

Vielen Dank dafür, super Arbeit.

Für die Übersteuerung meines Geofancy-Devices bei der Anwesenheit habe ich einfach das Attribute:
HomeCMDpresence-absent-<RESIDENT>-<PRESENCE_DEVICE>
mit dem Befehl
set <RESIDENT> absent
hinterlegt und schon klappt alles, auch wenn die WLAN Erkennung über Unifi (https://wiki.fhem.de/wiki/Anwesenheitserkennung#Eventbasierte_Anwesenheitserkennung_am_Beispiel_mittels_UniFi_Controller) dafür noch 5 Minuten braucht.
Vielleicht hilft es ja dem ein oder anderen :)

Allerdings habe ich auch noch eine Anforderung, die ich super in diesem Modul sehen würde (keine Angst, muss nicht sofort, wäre aber super wenn es dort untergerbracht wird).
Ich versuche schon des längeren je Raum Steuerung vorzunehmen und das ganze in einem generischen Ansatz, dafür fehlen aber die Devices die den Raum darstellen.
Mögliche Anwendungen wären:

  • Lüftungsempfehlung je nach Raumtemperatur und Feuchtigkeit in Relation zu den außen Werten
  • Alarm bei zu lange geöffneten Fenstern je Raum
  • Raumbewegung/Raumbelegung und dann Steuerung von Licht, Heizung, Rollo

Wenn du sowas angehen möchtest, dann kann ich mich da gerne noch genauer auslassen bzw. weiteren Input geben :)
Sollte jemand eine andere "Smarte" Lösung für die Steuerung der Räume kennen, ich bin (auch für Zwischenlösungen) offen für Vorschläge.

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

DeeSPe

Zitat von: Christian Uhlmann am 24 Januar 2017, 16:57:29

  • Lüftungsempfehlung je nach Raumtemperatur und Feuchtigkeit in Relation zu den außen Werten
  • Alarm bei zu lange geöffneten Fenstern je Raum
  • Raumbewegung/Raumbelegung und dann Steuerung von Licht, Heizung, Rollo

zu Punkt 1:
Dafür sehe ich nicht wirklich einen generischen Ansatz. Das ist auch teilweise persönlichen Empfinden mMn.
Auf der anderen Seite möchte ich das Modul auch nicht zu kompliziert stricken!!!

zu Punkt 2:
Das ist bereits integriert!

zu Punkt 3:
Das ist auch bereits integriert. Im Attribut HomeSensorsMotion können Bewegungsmelder hinterlegt werden.
Ich steuere darüber bereits meine Beleuchtung pro Raum (Beispiel siehe Attribut HomeCMDmotion in der Dokumentation auf Seite 1).

Wie schon vorher öfter gesagt, bin ich gerne bereit für Weiterentwicklung/Erweiterung, sofern es wirklich Sinn macht und es sich generisch genug umsetzen lässt.

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

Zitat von: DeeSPe am 24 Januar 2017, 17:15:23
zu Punkt 2:
Das ist bereits integriert!

zu Punkt 3:
Das ist auch bereits integriert. Im Attribut HomeSensorsMotion können Bewegungsmelder hinterlegt werden.
Ich steuere darüber bereits meine Beleuchtung pro Raum (Beispiel siehe Attribut HomeCMDmotion in der Dokumentation auf Seite 1).

Ok, verstanden. Ist dann nachgelagert in den HomeCMD's hinterlegt.
Ich dachte auch eher an ein Device (Subdevice von Homemode) damit man auch schön darstellen kann, in welchem Raum sind Fenster offen und wie warm / kalt ist es in diesen Räumen.

Naja, schauen wir mal, was die Zukunft bringt :)
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

darkness

Hallo,

ich habe das Modul gestern installiert und auf Grund der Super Beschreibung läuft alles auch so weit.
Nur der Punkt Set ... mode evening usw. klappt nicht. Ich kann zwar etwas auswählen, aber das springt dann nach einigen Sekunden zurück (aktuell afternoon).
In den Readings bleibt daytime unverändert.

Gruß