NEWS
Einschaltdauer darstellen
-
Hallo,
ich habe in der CCU ein Programm f
ü
r einen Aktor HM-LC-Sw4-WM, das eine Einschaltdauer setzt und dann einschaltet.In ioBroker.vis starte ich per Widget das Programm. Der Aktor schaltet ein.
Nun m
ö
chte ich im View darstellen, wie lange der Aktor noch eingeschaltet ist.1. Bekomme ich die (RestDauer) irgendwie
ü
ber den HM-Adapter mitgeteilt?2. Wenn ja, mit welchem Widget stelle ich diesen Wert sinnvollerweise dar?
Wenn 2 mal nein: Alternativen?
Danke!
Gru
ß
Manfred
-
hat dein Ger
ä
t einen so einen Kanal wie "on_time" oder
Ä
hnliches?da k
ö
nnte man das eventuell abgreifen bzw. setzen.du k
ö
nntest auch das CCU-Programm nach IoB
ü
berf
ü
hren.Da ich solch Ger
ä
t nicht habe, sind das alles "ungetestete" Ausagen. -
hat dein Ger
ä
t einen so einen Kanal wie "on_time" oder
Ä
hnliches?da k
ö
nnte man das eventuell abgreifen bzw. setzen.du k
ö
nntest auch das CCU-Programm nach IoB
ü
berf
ü
hren.Da ich solch Ger
ä
t nicht habe, sind das alles "ungetestete" Ausagen. `Das Ger
ä
t hat tats
ä
chlich einen Kanal ON_Time, den ich in den Objekten unter ioBroker sehe. Nur steht der immer auf "timer.off" und "0 s".Tats
ä
chlich setze ich aber einen Timer im CCU-Programm und der funktioniert auch:

Vielleicht kann hier einer der Homematic-Spezis was dazu sagen?
Gru
ß
Manfred
-
Ich denke der Datenpunkt ist nur zum Setzen der Einschaltdauer, aber nicht als countdowntimer geeignet.
Gru
ß
Rainer
-
Hallo manfred,
es g
ä
be zweieinhalb Wege:- Du portierst das Programm komplett zu ioBroker Javascript. Wie ist die die ID von CCU_Status?
Da sind noch weitere Bedingungen, die hie rim Screenshot nicht zu sehen sind, oder? Sonst macht ja __nur prüfen__ keinen Sinn. Das Einstellen der Zapfstelle ist jedenfalls kein Problem: ```` setState("hm-rpc.0.XXX1234567.ON_TIME", 3600 * 1000); // Ontime-Datenpunkt im Aktor auf 3600s setzen setStateDelayed("hm-rpc.0.XXX1234567.STATE", true, 1000); // Aktor 1s verzögert einschalten ````-
ioBroker Javascript kann auf das setzen des Schaltaktors auf true reagieren und einen Countdown runterz
ä
hlen. Der Countdown l
ä
uft nur in Javascript/ioBroker und kann visualisiert werden. Er kann abgebrochen werden, wenn der Aktor auf false geht. -
Du legst die komplette Logik ioBroker (inklusive Countdown)
Gru
ß
Pix
-
@pix:Hallo manfred,
es g
ä
be zweieinhalb Wege:
…
`Hallo Pix,
danke f
ü
r die Tipps.Zuerst einmal: das Programm sieht wirklich so aus. Es soll nur manuell gestartet werden (bzw. von ioBroker aus). Die "nur pr
ü
fen" Bedingung soll lediglich verhindern, dass es bei einem Reset der CCU automatisch ausgef
ü
hrt wird.Einen Timer parallel nach Start des Programmes laufen zu lassen w
ä
re schon ausreichend. Es geht nur um den WAF ("wer garantiert mir, dass das Wasser auch wirklich nach einer Stunde wieder zu geht
…
?").Ich bin aber in ioBroker, und erst recht in Javascript, noch so unbedarft, dass ich das (noch) nicht alleine hinbekomme.

Also weiter reinfuchsen oder es hilft mir jemand. :roll:
-
Vorschlag:
createState("Countdown", 0, { read: true, write: true, desc: "Restzeit Wasser-Zapfstelle", type: "number", min: 0, max: 3600, def: 0, unit: "s" }); var timer = null; var time = 0; on("hm-rpc.0.XXX1234567.STATE", function(dp) { if(dp.state.val) { time = 3600; timer = setInterval(function() { if(time > 0) { time--; setState("Countdown", time); } else clearInterval(timer); }, 1000); } else { if(timer) clearInterval(timer); time = 0; } setState("Countdown", time); });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden