Licht Anwesenheitssimulation durch "erlerntes" Muster aus der Vergangenheit

Begonnen von enno, 25 Januar 2019, 20:29:37

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Ja, gibt es. Ergebnis: Neuronale Netze liefern in vielen Fällen nur Unsinn, regelbasierte Systeme sind besser geeignet.

Beispiel für eine Anwesenheitssimulation: Das Netz hat nicht gelernt, sich wie ein Mensch zu benehmen. Sondern nur, dass mit einer Wahrscheinlichkeit von 98% im nächsten Zeitintervall kein Schaltvorgang des Lichtes erfolgt ...

LG

pah

Spezialtrick

Zitat von: enno am 27 Dezember 2019, 09:13:57
Moin obelix,

leider etwas ins stocken geraten. Anlegen der "Muster" funktioniert soweit (siehe oben), es fehlt eigentlich nur das Aufrufen der gespeicherten Muster, da bin ich aber an die Grenzen meiner Programmierfähigkeiten gekommen.

Vielleicht gibt es bei pah zum Thema "KI" ja schon etwas neues.

Gruss
  Enno

Hallo Enno,

ich wollte nur mal fragen, ob du mit dem Projekt weitergekommen bist oder ob du dir eine andere Lösung überlegt hast?
FHEM - Debmatic - Zigbee2MQTT - Homekit

enno

Moin Spezialtrick,

ich hatte nach einem der letzten Updates Probleme mit plötzlich Licht an aus in Kombination mit HM und DOIF. Um den Fehler zu finden habe ich alle Lightscene gelöscht. Nun läuft alles wieder Stabil aber die Zufallssteuerung läuft zur Zeit nur mit ein paar Randomtimer.

Dank Corona ist der Druck für eine Lösung nicht so groß, da fast immer irgendjemand anwesend ist.

Bin also nicht weitergekommen...

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Der_Tom

Guten Morgen Enno,


als ich begonnen habe MSwitch zu schreiben war genau das die Intention, genau in der von dir beschriebenen Art.

das Modul bringt von daher alle benötigten Voraussetzungen mit  dieses in einem Gerät zu realisieren. Dann hat sich das Modul aber in eine andere Richtung entwickelt.

bei Interesse könnten wir ja ggf zusammen versuchen es umzusetzen.

mit anderen Modulen kann ich mich mangels Kenntnissen aber leider nicht einbringen.

gruss Thomas

binford6000

Zitat von: enno am 30 Januar 2019, 21:57:30
Ich habe jetzt eine LightScene definiert, in der alle Lampen enthalten sind, die ich für die Simulation nutzen möchte.
Attributes:
   event-on-change-reading state
   followDevices 1
   lightSceneRestoreOnlyIfChanged 1
   showDeviceCurrentState 1


Mit einem DOIF erstelle ich bei jeder Änderung eine neue Scene gleichen Formats: 2019-01-30-Mittwoch-19-55-58

(["^LichtScene$:.state"]) (set LichtScene save {(strftime('%Y-%m-%d_%A_%H:%M:%S', localtime))} )

Soweit das Erstellen des Musters. Jetzt muss ich mir nur noch überlegen wie ich das ganze zum Steuern nutze....

Hallo Zusammen,
ich lese schon seit dem ersten Post mit und habe momentan auch was mit RandomTimer am Start.
Jetzt habe ich aber mal die Zeit gefunden, den LightScene-Ansatz von enno für mich gangbar zu machen:


  • LightScene wie oben erwähnt erstellt
  • Anstatt einem notify zwei at definiert (save und set)
  • Alle 5 Minuten wird eine neue LightScene geschrieben.
  • Das save at wird bei Anwesenheit und ss aktiviert
  • save at wird während ROOMMATEs "asleep" pausiert
  • save at wird während ROOMMATEs "absent" und bei sr deaktiviert
  • Das set at wird aktiviert wenn alle ROOMATEs "gone" sind und zwischen ss und sr
  • Das set at wird deaktiviert wenn ein ROOMATEs "present" ist
  • Die ganze Steuerung geschieht über das Modul HOMEMODE, da hier alle Infos zentral vorhanden sind

Hier das save at:
defmod simulation_save.at at +*00:05:00 set simulation.scene save {(strftime('%A_%H:%M', localtime))}
attr simulation_save.at alignTime 00:00:00


Und hier das set at:
defmod simulation_set.at at +*00:05:00 set simulation.scene scene {(strftime('%A_%H:%M', localtime))}
attr simulation_set.at alignTime 00:00:00


Vorteile:

  • Einfach umzusetzen
  • Die Szenen werden übers Jahr an sr und ss angepasst
Nachteile:

  • Nicht wirklich der oben gewählte Ansatz eines "Log-Files"
  • Falls keine passende Szene vorhanden Fehler im Log:
    2020.11.20 09:05:00 3:  simulation_set.at: no such scene: Freitag_09:05
    Mit verbose=2 fürs set-at allerdings zu verstecken...
  • Overhead durch 5 minütiges Szenen-Erstellen und -Setzen (m.M.n. zu vernachlässigen)

Feedback und Verbesserungsvorschläge sind sehr erwünscht!  :)

VG Sebastian

dieter114

Hallo Der-Tom,

ich verwende dein Modul um eine Anzeige Mehrspaltig mit aktuellen Daten zu "beladen"
wenn sie aktiviert wird. (Zustände, Steuerungen und Temperaturen einer Poolsteuerung)
Wenn die Kriterien eindeutig sind, kann mit deinem Modul eine Menge nacheinander abgearbeitet werden.
Es müsste doch jetzt nur noch ein zusätliches Kriterium (Attribut?) wie
Aktion 1 ausführen (ja/nein) Aktion 2... usw. dort eingefügt werden.
Und das abhängig von weiteren Faktoren - Denkansatz:

- Alle Aktionen starten erst wenn dunkel wird (Twilight) oder doch früher ??
- Lichter und Rolläden in kleine Gruppen einteilen und diese Gruppen
  (Random) starten und auch noch weiter mischen ??

Es geht doch letztendlich um Einbruchschutz.
Sobald dort igendetwas "Regelmäßig" abläuft, ist die Wirkung dahin.
Also möglichst viel Durcheinander aber nichts Unsinniges oder Regelmäßiges.

Grüße WDS
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Pax87

Hallo,
Aus reinem Interesse: Wie werden denn die Daten gespeichert, bzw wie sieht es mit Datenschutz bei solchen Vorhaben aus, an wen werden diese übermittelt ? LG