Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

sezme
Beiträge: 14
Registriert: 11.10.2010, 00:17

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von sezme » 25.10.2010, 07:10

Danke für eure Antworten :-)
195 Kanäle in 90 Geräten:

5x HM-LC-Dim1L-CV, 1x HM-LC-Dim1L-Pl, 1x HM-RC-19-B, 1x HM-RC-12, 1x HM-RC-Key3-B, 1x HM-CCU-1, 26x HM-LC-Bl1-FM, 1x HM-Sec-Key, 1x HM-Sys-sRP-Pl, 3x HM-LC-Sw4-SM, 1x HM-LC-Sw4-PCB, 19x HM-LC-Sw1-FM, 1x HM-LC-Sw1-Pl, 2x HM-LC-Sw1-Pl-2, 2x HM-Sec-SC, 14x HM-PBI-4-FM, 9x HM-CC-TC

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von anli » 16.06.2011, 10:33

Hallo.
teddy278 hat geschrieben:Hallo Welt,

das Problem wurde in den Anfangstagen der HomeMatic-Scripte schon irgendwo angesprochen, jetzt hebe ich es mal in die "Tipps und Tricks".

Es kommt gelegentlich vor, daß ein Aktor seinen Status nicht korrekt an die CCU übermittelt. Das bedeutet dann: Licht ist aus, aber in der WebUI steht noch "an". Ärgerlich, wenn davon irgendwas abhängt, was dann nicht passiert.

Die Lösung: Die CCU geht in regelmäßigen Abständen sämtliche Aktoren durch und fragt ihren Status ab.

Nun ist es so, daß die CCU hängt, wenn sie gerade auf Antwort von Aktoren wartet. Wenn jetzt drei Dutzend Kanäle überprüft werden, und womöglich ist einer gerade nicht erreichbar, dann ist das störend. Außerdem kommt es gerade bei "Massenabfragen" eher zu Kommunikationsstörungen als wenn man die Sache etwas entzerrt. Und wir wollen es auch nicht übertreiben: Eine Prüfung pro Aktor pro Stunde reicht dicke.

Daher hier mein Programm, das die Aktoren abfragt und den Status aktualisiert. Wenn "Anwesenheit" auf "nicht anwesend" gesetzt ist, wird nicht nur der Status geprüft, sondern der Aktor wird ausgeschaltet.

In der WebUI sieht es so aus:

Das Zeitmodul:

(Die Ausführung "alle 59 Sekunden" dient ebenfalls dazu, periodische Vorgänge zu entzerren. Wenn man ordentliche Zeiten vorgibt - z.B. Programm a alle 60 Sekunden, Programm b alle 5 Minuten, Programm c alle 15 Sekunden usw. -, dann ist die CCU immer schlagartig mit allem voll ausgelastet, während sie zwischendurch vor sich hin dämmert. Mit 59 Sekunden, 287 Sekunden und 17 Sekunden dagegen laufen die einzelnen Programme dagegen immer mehr oder weniger versetzt, so daß das gesamte System flüssiger reagiert.)

Das Script:

Code: Alles auswählen

    var l_licht = dom.GetObject ("Licht");
    integer i_pointer = system.Date("%M").ToInteger();
    boolean b;

    if (i_pointer < l_licht.Count()) {
      if (dom.GetObject("Anwesenheit").Value()) {
        b = l_licht.GetAt(i_pointer).State();
      } else {
        l_licht.GetAt(i_pointer).State(0);
      }
    }


Voraussetzung:

- alle zu prüfenden Kanäle liegen im Gewerk "Licht"
- es sind nicht mehr als 60 Kanäle (als "Zähler" dient die Minute der aktuellen Uhrzeit, zur vollen Stunde fängt der Zyklus von vorn an)


Grüße!
teddy
Danke!
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Hasi
Beiträge: 39
Registriert: 19.10.2010, 12:48

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von Hasi » 23.04.2012, 20:38


Die Lösung: Die CCU geht in regelmäßigen Abständen sämtliche Aktoren durch und fragt ihren Status ab.

Nun ist es so, daß die CCU hängt, wenn sie gerade auf Antwort von Aktoren wartet. Wenn jetzt drei Dutzend Kanäle überprüft werden, und womöglich ist einer gerade nicht erreichbar, dann ist das störend. Außerdem kommt es gerade bei "Massenabfragen" eher zu Kommunikationsstörungen als wenn man die Sache etwas entzerrt. Und wir wollen es auch nicht übertreiben: Eine Prüfung pro Aktor pro Stunde reicht dicke.
Gibt es sowas auch für Rolladen-Aktoren? Ich habe das Problem, dass ein Aktor ab und zu den Status nicht zurückmeldet. Morgens bleibt's dann dunkel, da die CCU noch denkt, dass die Rollade oben ist, und den "Hochfahr"-Befehl nicht versendet.

Viele Grüße

Hasi
Beiträge: 39
Registriert: 19.10.2010, 12:48

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von Hasi » 24.04.2012, 23:10

Hasi hat geschrieben:

Die Lösung: Die CCU geht in regelmäßigen Abständen sämtliche Aktoren durch und fragt ihren Status ab.

Nun ist es so, daß die CCU hängt, wenn sie gerade auf Antwort von Aktoren wartet. Wenn jetzt drei Dutzend Kanäle überprüft werden, und womöglich ist einer gerade nicht erreichbar, dann ist das störend. Außerdem kommt es gerade bei "Massenabfragen" eher zu Kommunikationsstörungen als wenn man die Sache etwas entzerrt. Und wir wollen es auch nicht übertreiben: Eine Prüfung pro Aktor pro Stunde reicht dicke.
Gibt es sowas auch für Rolladen-Aktoren? Ich habe das Problem, dass ein Aktor ab und zu den Status nicht zurückmeldet. Morgens bleibt's dann dunkel, da die CCU noch denkt, dass die Rollade oben ist, und den "Hochfahr"-Befehl nicht versendet.

Viele Grüße
Hi,

ich hab mal versucht das Licht-Skript ähnlich zu übernehmen. Dazu habe ich das neue Gewerk Rolladen angelegt und die Rolladen-Aktoren hinzugefügt.

Dieses Skript führe ich alle 174 Sekunden aus, so dass jeder Aktor ca. alle drei Stunden abgefragt wird. Max. sind 60 Rolladen-Aktoren möglich.

Code: Alles auswählen

var l_rolladen = dom.GetObject ("Rolladen");
integer i_pointer = system.Date("%M").ToInteger();
boolean b;

if (i_pointer < l_rolladen.Count()) {
b = l_rolladen.GetAt(i_pointer).State();
}
Viele Grüße

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von Bullson » 23.10.2012, 17:31

Ist eigentlich ein solches Makro die Standard Art und Weise für "Abwesend" also mach "Licht" aus?
Oder die zweite (so mach ichs, kommt mir aber ebenfalls umständlich vor) "Schau alle 15Min ob Anwesenheit = wahr"
Wenn "falsch" dann mach doch bitte Licht1 Licht2 Licht3 Licht... aus und benachrichtige mich darüber per push Mail

Ich meine ich hätte hier schon mal mehr übers Thema gelesen. Ich muss mir aber erst die Suchwörter nochmal googlen


itfreak
Beiträge: 74
Registriert: 26.05.2011, 19:52
System: CCU
Wohnort: D - 40000 Düsseldorf

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von itfreak » 24.09.2017, 18:40

sehr alter Artikel,,
aber hier noch aktueller link:

https://www.homematic-inside.de/tecbase ... ichter-aus

ABER
wie löse ich das bei einer wired installation ?
i.R. sind ja 12/7er Module verbaut.

oder gibt es da mittlerweile eine andere Lösung ?
Gruss ITfreak

_______________________________________________________________
CCU RM, HMW-LGW-O-DR-GS-EU (Wired RS485 LAN Gateway) + DRAP (HMIP)
ca. 537 Kanäle in 61 Geräten, 7800 Datenpunkte, 124 Programme
Homematic wired, Homematic RF, Homematic IP, Homematic IP wired
IP-SYMCON als Webfront virtualisiert
Synology NAS DS-918+, DS-420
Alarmanlage: Bosch Easy Series verdrahtet und RADION Funk
SONOS one + Alexa dot


Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von JRiemann » 24.09.2017, 18:46

Evtl. klappt es ja damit >> hier <<
Viele Grüße!
Jörg

itfreak
Beiträge: 74
Registriert: 26.05.2011, 19:52
System: CCU
Wohnort: D - 40000 Düsseldorf

Re: Lichtstatus prüfen / Licht bei Abwesenheit ausschalten

Beitrag von itfreak » 24.09.2017, 19:06

Bingo, geht !
Danke, das war der "richtige" Beitrag.
Gruss ITfreak

_______________________________________________________________
CCU RM, HMW-LGW-O-DR-GS-EU (Wired RS485 LAN Gateway) + DRAP (HMIP)
ca. 537 Kanäle in 61 Geräten, 7800 Datenpunkte, 124 Programme
Homematic wired, Homematic RF, Homematic IP, Homematic IP wired
IP-SYMCON als Webfront virtualisiert
Synology NAS DS-918+, DS-420
Alarmanlage: Bosch Easy Series verdrahtet und RADION Funk
SONOS one + Alexa dot


Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“