Guten Morgen,
irgendwie stecke ich hier fest und brauche mal einen Denkanstoss. :-[
ich habe einen Helligkeitssensor, der ist über Funk eingebunden und ich kann die verschiedenen Werte auch sehen. Neben den anderen Readings gibt es "brightness" dort steht der aktuelle Wert der Heilligkeit auch drin. Ändert sich über den Tag, so wie es sein soll. Nun soll das ganze als Steuerung der Beschattung bei zu viel Sonne dienen. Nach intensivem lesen, habe ich gedacht, das DOIF hier am einfachsten ist. Aber ich bin anscheinend zu ....
In der Erklärung zu DOIF hab ich ein Beispiel gefunden, das genau das macht, was ich will, nur als Dämmerungsschalter.
define di_lamp DOIF ([sensor:brightness] < 40) (set lamp on) DOELSE (set lamp off)
daraus hab ich das gemacht:
define set_sunstate DOIF ([HM_521C91:brightness] > 90000 ) (set sunstate on) DOELSE (set sunstate off)
aber es macht nix, steht ims Status: initialisiert.
Ersetze ich den HM_ durch einen Dummy, wie im Beispiel oben, dann funktioniert es wie es soll.
muss ich noch irgendetwas beim HM_ einschalten oder hab ich einen Denkfehler? Ich gehe ja davon aus, das es ein ganz blöder Anfängerfehler ist, aber ich stehe gerade absolut auf dem schlauch. do allways im DOIF ändert am Verhalten nix und auch do notify beim Sensor hat nix gebracht.
Vielen Dank für einen kleinen Wink mit dem Zaunspfahl
Viele Grüße
Oesi
Hallo,
ich benutze so etwas auch, bei mir geht es zb. mit
set Bel_Auto (([16:00-23:10|56] and [HM_Sensor:luminosity] < 3) or ([16:00-22:10|01234] and [HM_Sensor:luminosity] < 3)) (set HM_4Fach_2_Sw_01 on) DOELSE (set HM_4Fach_2_Sw_01 off)
ist noch an Zeiten gebunden da es nur Abends eine Beleuchtung ein und später wieder ausschalten soll (soll nicht die ganze Nacht leuchten).
Gruß Rolf
ein list vom HM_521C91 wäre hilfreich
LG
Tom
Hallo,
@rvideobaer: das sieht ja ähnlich wie bei mir aus und genau so dachte ich ja sollte es auch tun .. hmmm
@Tom
hier das listing, sorry hätte ich auch gleich dranhängen können...
Internals:
CUL_0_MSGCNT 2252
CUL_0_RAWMSG A0F9B8653521C9100000000C100978B2A::-70:CUL_0
CUL_0_RSSI -70
CUL_0_TIME 2017-07-15 12:45:12
DEF 521C91
IODev CUL_0
LASTInputDev CUL_0
MSGCNT 2252
NAME HM_521C91
NOTIFYDEV global
NR 32
NTFY_ORDER 50-HM_521C91
STATE B: 99315.62
TYPE CUL_HM
lastMsg No:9B - t:53 s:521C91 d:000000 00C100978B2A
protLastRcv 2017-07-15 12:45:12
rssi_at_CUL_0 lst:-70 max:-53 cnt:2252 min:-76.5 avg:-67.48
CHANGED:
battery: ok
brightness: 99315.62
B: 99315.62
CHANGEDWITHSTATE:
Readings:
2017-07-11 13:54:38 Activity alive
2017-05-23 14:51:38 CommandAccepted yes
2017-05-23 09:27:07 D-firmware 1.1
2017-05-23 09:27:07 D-serialNr NEQ1359229
2017-05-23 14:51:38 PairedTo 0x000000
2017-05-23 14:51:38 R-cyclicInfoMsgDis 0
2017-05-23 14:51:38 R-pairCentral 0x000000
2017-05-23 14:51:38 R-sign off
2017-05-23 14:51:38 RegL_00. 02:01 0A:00 0B:00 0C:00 11:00 14:06 18:00 00:00
2017-05-23 14:51:38 RegL_01. 02:50 08:00 30:06 7B:08 AC:00 00:00
2017-07-15 12:45:12 battery ok
2017-07-15 12:45:12 brightness 99315.62
2017-07-15 12:45:12 state B: 99315.62
Helper:
HM_CMDNR 155
mId 00FD
rxType 12
supp_Pair_Rep 0
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +521C91,00,00,00
nextSend 1500115512.17576
prefIO
rxt 2
vccu
p:
521C91
00
00
00
Mrssi:
mNo 9B
Io:
CUL_0 -68
Prt:
bErr 0
sProc 0
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
Rssi:
At_cul_0:
avg -67.4886767317941
cnt 2252
lst -70
max -53
min -76.5
Attributes:
IODev CUL_0
actCycle 002:50
actStatus alive
alias Helligkeitssensor
autoReadReg 4_reqStatus
do_not_notify 0
expert 2_raw
firmware 1.1
group Devices
model HM-Sen-LI-O
room Insecotec Büro
serialNr NEQ1359229
subType senBright
do_not_notify hatte ich mal auf 1 und auf 0, aber das verhalten bleibt gleich
Viele Grüße
Oesi
DOIF triggert auf Events du musst schauen im Event Monitor was der so liefert bei Änderung.
So muss dann deine Definition sein.
Leider ist Home Matik nicht meins aber der Event Monitor ist dein Freund.
Bitte benutze die code Tags für die lists. Im Editotr das Raute Zeichen.
LG
Tom
Hi,
nicht Dein eigentliches Thema/Problem, aber Dein Pairing ist nicht richtig oder nicht fertig.
2017-05-23 14:51:38 PairedTo 0x000000
2017-05-23 14:51:38 R-pairCentral 0x000000
Hier sollte anstatt 0x000000 Deine hmId stehen.
Ansonsten sehe ich in dem Code keinen Fehler. Gib uns mal noch ein list set_sunstate in Code Tags bitte.
Gruß Otto
Hallo,
danke erstmal für die tips!
Alle geräte bringen events im monitor, aber der Sensor nicht, kann das mit dem nicht beendeten Pairing zusammenhängen?
ich bin leider erstmal für 2 wochen weg und kann leider nicht direkt an die Hardware, also werde ich mich danach nochmal intensiv dem Problem widmen.
Die liste hab ich vorhin nur schnell on the fly reinkopiert, die Familie nörgelt schon weil ich mich nicht mit Packen befasse sondern am Rechner bin... in 2 Wochen hab ich hoffentlich mal mehr Ruhe! ;-(
Viele Grüße
Oesi
Hallo,
nechdem ich wieder zurück bin, habe ich nochmal neu gepaired und darauf geachtet, das es auch richtig bis zum Ende geht!... Auch wenn es komisch klingt, jetzt kommen auch Events. Keine Ahnung, ob das wirklich das Problem war, aber die Auswertung geht wie gewollt.
Danke nochmal für die Hilfe!
Aktuell überlege ich, wie ich folgende Logik mit DOIF umsetzen kann, hat das vielleicht schon jemand so laufen:
Helligkeitswert überschreitet einen bestimmten WertX (bsp:100000) , wenn der Wert für eine ZeitX (bsp:5 Min) nicht mehr unterschritten wird ein Dummy (Sunstate bekommt Sonne) gesetzt. Rollos fahren runter. Wird der Wert in den 5 minuten einmal unterschritten, dann laufen die 5 Minuten beim nächten überschreiten erneut los.
Sind die Rollos einmal unten, dann erfolgt das Ganze umgekehrt, nur halt mit einer anderen Zeit (bsp: 20 min)
Damit die nicht dauernd auf und ab fahren :-)
Ist DOIF da das Richtige, oder gibt es noch ein anderes Modul, was die Sache besser löst?
Viele Grüße
Oesi
Hi,
sowas in der Art, das wait sorgt für das Verhalten was Du willstdefmod di_Beschattung1 DOIF ([SensorSonne:scheint] eq "on" and [SensorAussen:temperature] > 20 and [07:30 - 11:00]) ((set RolloGZR,RolloB.*,RolloAK 35)) DOELSE ((set RolloGZR,RolloB.*,RolloAK auf))
attr di_Beschattung1 room Haus
attr di_Beschattung1 wait 900:900
Gruß Otto
Guten Morgen,
danke, dann versuche ich das mal, angepasst für meinen Wünsche!
Viele Grüße
Oesi
Hi,
Rollosteuerung mit Doifs ist nicht wirklich einfach....da kommen schnell Wünsche wie" Türe auf, Rollo hoch" etc...
Nimm das hier:
https://forum.fhem.de/index.php/topic,73964.0.html
Kann alles und funktioniert auch noch. ;-)
VG
Christian