Duty Cycle zu hoch

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Borland
Beiträge: 377
Registriert: 28.10.2015, 21:12

Re: Duty Cycle zu hoch

Beitrag von Borland » 06.01.2019, 17:31

Alles klar, Danke.

lynx42
Beiträge: 51
Registriert: 15.10.2015, 22:58

Re: Duty Cycle zu hoch

Beitrag von lynx42 » 07.01.2019, 17:36

Hallo zusammen,
das Thema passt so schön zu mir, mit Ausnahme, dass ich die CCU2 nutze. Kann meine Frage auch gerne noch in einem anderen Thread stellen, ist aber glaube ich unabhängig.
Ich nutzt seit mehreren Jahren die CCU2 mit diversen Aktoren und Sensoren. Meist läuft alles stabil, nur habe ich das Problem, dass mein DC immer wieder voll läuft. Durch Beobachtungen meine ich, dass dies immer dann der Fall ist, wenn es dunkel ist und man öfters durchs Treppenhaus läuft. Daher habe ich die beiden Bewegungsmelder (HM-Sen-MDIR-WM55) im Haus (evtl. auch noch in Kombination mit dem BWM vor der Haustür (HM-Sen-MDIR-O) (z. B. beim Ein- und Ausladen)) in Verdacht.

Ich habe noch eine HMIP-PSM. Diese aber schon so eingestellt, dass sie nichts messen sollte (glaube ich :roll: )

Die Bewegunsmelder sind evtl. recht kurz eingestellt. Ich finde es aber blöd, dass das Licht 4-5 Minuten brennen soll, wenn ich nur kurz das Stockwerk wechsel.
In den Bildern findet ihr meine Einstellungen. Ich wäre sehr dankbar, wenn mich jemand auf Fehler bzw. mögliche Verbesserungen hinweisen könnte, oder evtl. Debugging-Ansätze.
Vielen Dank!
Dateianhänge
HMIP-PSM.JPG
BWM-innen.JPG
BWM-aussen.JPG

Familienvater
Beiträge: 6973
Registriert: 31.12.2006, 15:18
Wohnort: Rhein-Main
Danksagung erhalten: 1 Mal

Re: Duty Cycle zu hoch

Beitrag von Familienvater » 07.01.2019, 17:47

Hi,

wie werden die Lampen geschaltet? Ich gehe davon aus, das die Lampen einfach dauernd "sinnlos" von der Zentrale angefunkt werden, und das Licht nicht per Direktverknüpfung geschaltet wird.

Der Familienvater

lynx42
Beiträge: 51
Registriert: 15.10.2015, 22:58

Re: Duty Cycle zu hoch

Beitrag von lynx42 » 07.01.2019, 19:38

Ich hatte mit dem einen mal einen IP-Aktor angesteuert und daher ein Programm erstellt. Nachdem ich es vor mehreren Monaten geändert habe, nutze ich Direktverknüpfungen für alles. Mir ist nur gerade aufgefallen, dass es das Programm noch gab - dieses war zwar nicht aktiv, aber wenn ich deinen Eintrag oben richtig deute, könnte das auch schon ein Grund gewesen sein - ob es der alleinige ist, wage ich allerdings noch etwas zu bezweifeln.

Wenn ich so darüber nachdenke kann es vielleicht auch mit einer anderen Sache noch zusammenhängen:
Ich habe noch ein Programm "Lichtprüfung". Wenn ein Lichtaktor sich verändert wird dieses ausgeführt. Hier wird über ein Skript der Status der Aktoren abgefragt und sobald einer angeschaltet ist, die Systemvariable auf "an" gestellt. Hintergrund war hier, dass ich auf einer Mediola-Übersichtsseite auf einen Blick sehen wollte, ob irgendwo im Haus ein Licht brennt.
Jetzt wo ich so darüber nachdenke liegt - in Kombination mit dem häufigeren Auslösen des BWM hier vermutlich das Problem, oder?

Gibt es hier eine elegantere Lösung, als den Status von jedem Aktor abzufragen? Ansonsten würde ich auf die Variable verzichten, wenn das mein DC-Problem löst.
Dateianhänge
direktverknuepfung.JPG

Familienvater
Beiträge: 6973
Registriert: 31.12.2006, 15:18
Wohnort: Rhein-Main
Danksagung erhalten: 1 Mal

Re: Duty Cycle zu hoch

Beitrag von Familienvater » 07.01.2019, 20:34

Hi,

weißt Du, was Würmer ziehen ist?
lynx42 hat geschrieben:
07.01.2019, 19:38
Ich habe noch ein Programm "Lichtprüfung". Wenn ein Lichtaktor sich verändert wird dieses ausgeführt. Hier wird über ein Skript der Status der Aktoren abgefragt und sobald einer angeschaltet ist, die Systemvariable auf "an" gestellt
Woher sollen wir wissen, was Du in diesem Script machst? Es gibt 2 Möglichkeiten, die eine nutzt den der Zentrale bekannten Status, die andere funkt wirklich das Gerät an.

Der Familienvater

lynx42
Beiträge: 51
Registriert: 15.10.2015, 22:58

Re: Duty Cycle zu hoch

Beitrag von lynx42 » 07.01.2019, 20:53

Sorry. Mein Fehler.

Hier das Skript was aufgerufen wird, wenn ein Aktor geschaltet wird:

Code: Alles auswählen

var MyLichtVar = dom.GetObject("Licht-An-Aus");
!Bad 1
var f01 = dom.GetObject("BidCos-RF.MEQXX:1.STATE").State();
!Balkon Bett
var f03 = dom.GetObject("BidCos-RF.MEQXX:1.STATE").State();
!Balkon Schreibtisch Dimmer
var f04 = dom.GetObject("BidCos-RF.MEQXX:1.LEVEL").Value();

[...es kommen noch weitere Aktoren, insgesamt 27 Stück, wie man unten sieht...]

if ((f01 == true) || (f03 == true) || (f04>0) || (f05 == true) || (f06 == true) || (f07 == true) || (f08 == true) || (f09 == true) || (f10 == true) || (f11 == true) || (f12 == true) || (f13>0) || (f14>0) || (f15 == true) || (f16 == true) || (f17 == true) || (f18 == true) || (f19 == true) || (f20>0) || (f21 == true) || (f22 == true) || (f23 == true) || (f24 >0) || (f25 ==true) || (f26 == true) || (f27 == true)) {
MyLichtVar.State(1);
}
else {
MyLichtVar.State(0);
}

alchy
Beiträge: 8489
Registriert: 24.02.2011, 01:34
Hat sich bedankt: 2 Mal
Danksagung erhalten: 30 Mal

Re: Duty Cycle zu hoch

Beitrag von alchy » 07.01.2019, 20:58

Und damit auch die Ursache für sinnloses Anfunken der Geräte je Laufzeit des Scriptes weil du .State() zum Abfragen eines Datenpunktes benutzt, statt .Value()

Und wofür?
Du schaust bei 27 Aktoren einzeln nach, ob Datenpunkte ein sind und setzt abhängig von der Prüfung eine Variable auf wahr, weil ein Licht eingeschaltet ist. Das machst du wie oft?

Alchy

..................... crowded
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Borland
Beiträge: 377
Registriert: 28.10.2015, 21:12

Re: Duty Cycle zu hoch

Beitrag von Borland » 07.01.2019, 21:18

Borland hat geschrieben:
06.01.2019, 14:02
Mahlzeit , Danke fürs antworten :)
Dann werde ich auch mal bei den normalen HM Geräten den Übertragungsmodus ändern.

Ich habe gestern Abend bei den Bewegungs-und Präsenzmeldern den Mindestsendeabstand sowie die Zeit, nach der erkannte Bewegungen zurück gesetzt werden geändert und alle Programme wieder aktiviert.
Seit dem ist der DC nicht mehr über 29% gestiegen das ist echt klasse. Gar nicht vergleichbar mit vorher, wo ich täglich mehrfach 100% hatte ;)

Also wenn das so bleibt kann ich gut damit leben.
Oder muss der DC noch weiter runter und falls ja, warum?

VG
B.

So, nachdem ich gestern den Übertragungsmodus angepasst hab ist der DC noch weiter runter gegangen.
Mittlerweile in der Regel unter 20%.
Alles bestens jetzt, vielen Dank noch mal :)

lynx42
Beiträge: 51
Registriert: 15.10.2015, 22:58

Re: Duty Cycle zu hoch

Beitrag von lynx42 » 07.01.2019, 22:23

alchy hat geschrieben:
07.01.2019, 20:58
Und damit auch die Ursache für sinnloses Anfunken der Geräte je Laufzeit des Scriptes weil du .State() zum Abfragen eines Datenpunktes benutzt, statt .Value()
Stimmt. Das macht Sinn. Hatte das gesamte Konstrukt vor 3 Jahren in der Hochphase unserer Hausrenovierung zusammengebastelt und vorher noch nichts mit Homematic zu tun gehabt. Da war ich froh mir ein funktionierendes Skript aus einzelnen Codeschnipseln im Netz zusammengebastelt zu haben. Die Dokumentation ist mir erst später in die Hände gefallen, und durch deinen Hinweis habe ich die Stelle auch gefunden und das Skript jetzt angepasst.

In welchen Situationen sollte man denn denn State() verwenden? Wäre es dann nicht immer geschickter auf Value() zu gehen? Doch höchstens, wenn man immer mal wieder Kommunikationsprobleme hat, und sicherstellen will, dass man den richtigen Wert erhält, oder? Denke z. B. bei TFK, wo es mehr um die Sicherheit geht ist State() evtl. besser, oder?

Danke für eure Hilfe, das wird es vermutlich gewesen sein.

Familienvater
Beiträge: 6973
Registriert: 31.12.2006, 15:18
Wohnort: Rhein-Main
Danksagung erhalten: 1 Mal

Re: Duty Cycle zu hoch

Beitrag von Familienvater » 07.01.2019, 22:39

Hi,
lynx42 hat geschrieben:
07.01.2019, 22:23
In welchen Situationen sollte man denn denn State() verwenden? Wäre es dann nicht immer geschickter auf Value() zu gehen? Doch höchstens, wenn man immer mal wieder Kommunikationsprobleme hat, und sicherstellen will, dass man den richtigen Wert erhält, oder? Denke z. B. bei TFK, wo es mehr um die Sicherheit geht ist State() evtl. besser, oder?
da ein TFK ein SENDER ist, und NICHT ANGEFUNKT werden kann, macht es absolut keinen Sinn, .State() zu nutzen, es kostet aber wahrscheinlich auch keinen DC, liefert aber in jedem Fall immer das identische Ergebnis wie .Value(). Ausnahmen bestätigen die Regel, bei wired kann man natürlich einen Schließerkontakt abfragen.

Der Familienvater

Antworten

Zurück zu „RaspberryMatic“