NEWS
Homematic Rollladenaktor manuelle Bedienung feststellen
-
Hallo,
ich möchte bei meinem HM-LC-Bl1PBU-FM loggen ob der Rollladen manuell bedient wurde, damit ich andere Scripte in dem Fall aussetzen kann, die evtl. den Rollladen wieder hoch oder runterfahren würden.
Aber ich finde keinen entsprechenden Datenpunkt wie z.B. "switch"
Fehlen mir Datenpunkte? Habt ihr mehr?
Ich habe nur Order 0 und 1 und nutze den Homematic RPC Adapter
-
@maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
Fehlen mir Datenpunkte? Habt ihr mehr?
hatten wir das Thema nicht bereits in einem andrren Thread?
also nochmal
Da gibt es keinen DP für -
-
@c1500 sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
Be, das war ich im anderen Thread.
-
@homoran doch, ich hatte es dann falsch verstanden. Dachte bei IP gibt es den Datenpunkt nicht mehr und ich sollte ein neues topic aufmachen für fehlende Homematic Datenpunkte. Auch gerade nach meinem Hinweis, dass ja auch 3 andere Datenpunkte trotz Direktverbindung Veränderungen aufweisen. Wunderte mich daher dass es dann meinen gibt der besagt dass der Schalter gedrückt wurde.
@C1500 ich möchte wissen ob der Schalter betätigt wurde. Steuern des Rollladen ist kein Problem
-
@maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
Dachte bei IP gibt es den Datenpunkt nicht mehr
umgekehrt (ist aber auch nicht ganz so einfach)
@maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
ich sollte ein neues topic aufmachen für fehlende Homematic Datenpunkte
nein, sondern weil der Thread an den du dich angehängt hattest um IP ging, aber um was ganz anderes.
Da das aber mit Einem Satz zu lösen war, hatte ich es dann direkt dort geschrieben
Wunderte mich daher dass es dann meinen gibt der besagt dass der Schalter gedrückt wurde.
??
Nochmals also hier:
Die HM PBU sind einfache AKTOREN, die lediglich einen zusätzlichen mechanischen Taskontakt besitzen.
Dieser kann und wird nicht ausgewertet!Du kannst lefiglich alle Skripte die diesen Aktor steuern dermaßen gestalten, dass sie das irgendwie dokumentieren. Fehlt diese Info (sorgfältig umgesetzt!) muss wohl ein manueller Eingriff stattgefunden haben.
-
@maxpd ich hatte das gleiche Problem und hab es folgendermaßen gelöst.
Das Script welches die Rolläden fährt kann nur 3 Positionen ansteuern (Oben/Unten/Sonnenschutz) Diese 3 Positionswerte habe ich in Datenpunkten abgelegt.
Entspricht die Position des Rolladen jetzt nicht einem der 3 Werte, dann wurde der Rolladen manuell auf diese Position gebracht. -
@maxpd sagte: ob der Rollladen manuell bedient wurde, damit ich andere Scripte in dem Fall aussetzen kann
Wie sollen die Skripte wieder aktiviert werden, nachdem manuelle Bedienung festgestellt wurde?
Man kann feststellen, dass eine Positionsänderung nicht durch ein Skript erfolgte, dies in einem Datenpunkt speichern und diesen Datenpunkt in den Rollo-Skripten als Sperre verwenden (nicht getestet):
const idLevel = 'hm-rpc.0.XEQ1234568.1.LEVEL'; const idManuell = '0_userdata.0.Wohnzimmer.Rollladen.manuell'; var timer = null; on(idLevel, function(dp) { if(!timer) { let manuell = true; if(dp.state.from == 'system.adapter.javscript.0') { manuell = false; timer = setTimeout(function() { timer = null; }, 20000); // max. Rollolaufzeit in ms } if(manuell) setState(idManuell, true, true); } });
-
@paul53 leider hab ich so meine Probleme mit JS, daher nutze ich nur Blockly. Meinst du das geht auch mit Blockly?
Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.@htrecksler bei mir wird der Rollladen durch 5 Scripte gesteuert mit mehr als nur 3 Positionen.
Aber grundsätzlich kann ich in allen Scripten auch eine Variable mitsteuern, anhand der ich auslesen kann ob die Position aus einem Script oder manuell entstanden ist. Der Weg andersrum, wäre nur sauberer gewesen ^^
-
@maxpd sagte: das geht auch mit Blockly?
-
@paul53
jetzt hab ich es verstandenich hatte mich schon über deine Aussage gewundert:
@paul53 sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
Man kann feststellen, dass eine Positionsänderung nicht durch ein Skript erfolgte,
du prüfst auch ob javascript der Übeltäter war und falls nicht definierst du es als manuell!
-
@paul53 Mega, danke. Vielleicht kann ich mit der Methode noch meiner ungewollten Lautstärkenänderung auf die Spur kommen? https://forum.iobroker.net/topic/49937/plötzliche-lautstärkenänderung
-
@paul53 Hab das Script so nachgebaut. Aber leider bleibt der geschriebene Datenpunkt immer auf "true". Muss noch debuggen an welcher Stelle er nichts mitbekommt, aber vermute das Auslesen des Ursprungs.
-
@maxpd sagte: leider bleibt der geschriebene Datenpunkt immer auf "true".
@maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.
Passiert dies? Der Datenpunkt kann nur so oder manuell (Vis) zurück gesetzt werden.
-
@paul53 nein, zum schnelleren testen hab ich es erst mal mit dem timeout von 20 sec wie du gelöst. wenn sich 20 sec nach einer Leveländerung durch ein Script erneut eine Leveländerung aber ohne scripttrigger, also manuell via taster vollzieht, sollte manuell ja auf true wechseln.
bzw. sollte bei einem scripttrigger auf false switchen. Das passierte aber noch nie.
-
@maxpd sagte: Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.
Wenn Du in diese beiden Trigger keine Sperre einbaust, aber in alle anderen, kann das Rücksetzen auch automatisch erfolgen:
@maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:
erst mal mit dem timeout von 20 sec wie du gelöst
Wenn die Verzögerung (timeout) zu kurz ist (kleiner als max. Rollolaufzeit), funktioniert die Erkennung nicht! Lieber etwas zu groß wählen.