Automatik vs. manual Overwrite

Begonnen von Mathea, 05 Dezember 2016, 10:55:16

Vorheriges Thema - Nächstes Thema

Yil

#15
Ich hab mich mit dem gleichen Problem beschäftigt, hab es aber noch nicht konsequent zuende gedacht (hatte ähnliche Gedanken wie Wuppi68). Mein Ansatz war:

Lichtautomatik wird per DOIF geschaltet -> funktioniert alles reibungslos.

Szenario A: eine per Automatik ausgeschaltete Lampe wird manuell eingeschaltet und soll auch eingeschaltet bleiben (die wiederkehrende Automatikschaltung soll sie nicht wieder abschalten)

Ansatz 1: Dazu setze ich ein Reading bei dem zu schaltenden Device namens "manuell" eq "ja". Die Automatikabfrage erweitere ich derart, dass ich dieses Device nur schalte, wenn Reading "manuell" ne "ja" ist.

Im Ergebnis nimmt die manuelle Schaltung das Device aus der Automatik heraus. Um es wieder hinein zu bekommen, setze ich das Reading  "manuell" auf "nein", wenn ich das Device wieder ausschalte.

Ansatz 2: nicht zuende gedacht, aber gewissermaßen logisch geschlußfolgert -> ein automatisch geschaltetes Device soll anders geschaltet werden. Hier würde ich neben dem Reading "manuell" noch ein weiteres Reading "auto" definieren, in dem ich den Schaltzustand VOR der manuellen Schaltung abspeichere. Da die Automatikschaltung nach Schalten des Devices das Reading "auto" setzt, kann ich über eine Abfrage in der Automatik (hier: ist "state" eq "auto") prüfen, ob die Automatik das Device schalten darf oder nicht. Wenn ich weiter denke, lässt sich mit dem 2. Ansatz auch der erste Ansatz lösen.

Ich probier das mal aus ...  ;)




Hier das erste Ergebnis:

Die Definition

define Osram09.manuell dummy

define xyz DOIF ([?16:00 - 23:00] and [A] eq "on") (IF ([Osram09.manuell] eq "nein") (set Osram09 dim5%,set Osram09.manuell nein)) DOELSE (set Osram09 off)
attr xyz do always
attr xyz repeatcmd 10
attr xyz room Test

define A dummy
attr A room Test
attr A setList on off

define AA notify A:on set Osram09.manuell nein

define Osram09manuellSchalten notify Osram09 IF ([Osram09] ne "off") (set Osram09.manuell ja) ELSE (set Osram09.manuell nein)


Bedeutet:

  • dummy Schalter A schaltete den Test ein. Der Abfragedummy Osram09.manuell steht auf nein, die DOIF-Automatik greift.
  • Nach jeder Schaltung (also auch bei den manuellen Schaltungen) wird der abfragedummy Osram09.manuell auf ja gesetzt.
  • In der DOIF-Automatik wird er anschließend auf nein zurückgesetzt. Die Automatik-Schaltung löst weiterhin aus.
  • Eine manuelle Schaltung setzt den Abfragedummy auf ja - die Automatik ändert dann diesen Schalter nicht mehr.
  • Beim manuellen Ausschalten wird der Abfragedummy auf nein gesetzt ("set Osram09.manuell nein") und damit für die Automatik wieder zugänglich gemacht. Diese schaltet auf den ursprünglichen Wert zurück.


Ein paar Mal - nein, eigentlich immer - habe ich bei mir beobachtet, dass trotz des Befehls "set Osram09.manuell nein" in der Automatik im Anschluß an den Schaltvorgang der Wert der Abfragevariable auf "ja" stand - das konnte ich mir nicht erklären. Mir kommt es so vor, als ob der Befehl gar nicht abgearbeitet wird. Weiß da jemand eine Lösung?

HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Mathea

Hi Yil,

dein Ansatz gefällt mir ziemlich gut. Was du damit nämlich machen kannst ist das Automatik- / Manuell Handling individueller Geräte. In meiner aktuellen Programmierung kann ich ja nur die Automatik eines gesamten Raumes ein / ausschalten.

Aber leider löst das nicht ganz mein Problem, da immer noch der Baustein fehlt, zu ermitteln welcher Trigger ein Gerät gerade gesetzt hat :(

Allerdings hat justme1968 (Entwickler der Homebridge und Alexa Fhem Module) mir einen super Vorschlag zur Umsetzung gemacht. Man kann das Attribut "homebridgemapping" so anpassen, dass das Schalten mittels Alexa oder Siri einen anderen Schaltbefehl absetzt, auf den ich reagieren kann. So kann ich zwar immer noch nicht auf das Schalten einer Lampe via Philips Hue App reagieren, aber eine funktionierende Sprachsteuerung reicht mir erst mal vollkommen.

Gruß,
Mathea

Yil

Ja, das ist natürlich sehr schick mit der Sprachsteuerung. Ich meine auch, dass da der Weg hinführen sollte, wenn man langfristig auf eine elegante Steuerung aus ist:

Automatik, wo es geht - ohne manuelle Interaktion. Manuelle Interaktion über Sprache - idealerweise mittels Fernmikrofone (Google Home, Amazon Echo o.ä.) und ohne irgendein Device in der Hand (Handy, Tablet o.ä.).

Ich hatte Homebridge gut am Laufen, hab mir die Installation auf dem Raspi aber so verschlimmbessert, dass es jetzt nicht mehr laufen will  :-[
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Mathea

Da stimme ich dir voll zu. Ein großer fehlender Baustein ist da leider noch eine 100% sichere Anwesenheitserkennung pro Raum, aber das ist ein anderes Thema :D

Was genau stimmt denn nicht mit deiner Homebridge? Ich hatte anfangs auch riesen Probleme aber irgendwann lief es dann. Die Einbindung von Alexa war da aber trotzdem irgendwie einfacher.

Yil

Tja, wenn ich das wüsste. Ich vermute, es hat etwas mit der NodeJS-Installation zu tun und Inkompatibilitäten zu den npm-Modulen. Wenn Du "node -v" auf dem Terminal eingibst, welche Version bekommst Du?
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Mathea

Zitat von: Yil am 10 Dezember 2016, 01:00:11
Tja, wenn ich das wüsste. Ich vermute, es hat etwas mit der NodeJS-Installation zu tun und Inkompatibilitäten zu den npm-Modulen. Wenn Du "node -v" auf dem Terminal eingibst, welche Version bekommst Du?

Leider bin ich im Moment auf Dienstreise und kann das erst frühestens Dienstag prüfen. Falls du dann aber noch nicht weiter gekommen bist, kann ich dann noch mal gucken.

Soweit ich aber weiß hatte ich damals auch ein Problem mit der NodeJS Version...

Yil

Ich hab mir ne halbe Nacht um die Ohren gehauen und die Installation gerade gezogen - jetzt geht alles bis auf den Auostart von Homebridge über systemd (ich nutze Jessie). Ist aber noch mal ein ganz neues Thema, denn nur Homebridge zu haben ist eine Sache, aber intelligente Kommandos für geräte und Szenen zu entwickeln und die zum Laufen zu bringen die andere, und gerade hab ich den WAF leicht überzogen ... ::) Muss also etwas kürzer treten.

Bist Du warm geworden mit Homebridge und Alexa? Da will ich auch hin, sobald Amazon seinen Echo dot mal liefert ...
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

Mathea

Bei mir läuft der Autostart ohne Probleme. Ich habe das wie im Wiki beschrieben mit dem Startscript in init.d und das starten über update-rc.d gemacht. Was allerdings irgendwie nicht funktioniert ist das Anzeigen des Homebridge Status in fhem und das Starten / Stoppen über einen dummy.

Wirklich warm geworden bin ich mit beiden ehrlich gesagt noch nicht. Die Barriere, Homekit zu benutzen ist, dass man dazu jedes mal das Handy zücken muss. Das ist nicht wirklich intuitiv. Alexa wiederum kann aktuell mit dem nativen Smart Home Skill nur zwei Gerätetypen (Licht & Temperatur), was einfach zu wenig ist. Außerdem ist da ja noch das Problem, dass meine Automatik die Schaltbefehle aktuell noch bekämpft  ;D Ich hoffe stark, dass Amazon den Smart Home Skill bald erheblich erweitert (Rolläden, Vorhänge, Ventilatoren, TV- & andere Entertainment Geräte, abfragen von Fenstern und Türen, ...)

Allerdings habe ich auch noch Probleme, meine nicht-Standard-Geräte einzubinden, weil ich das homebridgemapping noch nicht so ganz verstehe. Ich kann im Moment meine Homematik und Philips Hue Sachen ansteuern, aber nicht meine MySensors Devices.

Yil

Sehe ich genauso, Homekit ist nur ein Zwischenschritt, und an Alexa wage ich mich erst, wenn das Dingens mal geliefert wird ... keine Ahnung, ob ich mir die Zeit gönne, mich mit homebridgemapping zu beschäftigen. Handy zücken ist auch nicht so mein Ding und reinzurufen taugt auch nur, um Besucher zu verblüffen  ;)

In Sachen Devicevielfalt hatte ich anfangs auch gedacht, es ist lustig, über den RPi alles mögliche anzubinden, aber irgendwann habe ich mich von Philips und F20 verabschiedet und nutze nur noch Osram, Homematik und Z-Wave - das läuft stabil, auch jetzt über Homekit.
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi