Hi zusammen,
ich möchte alle Rollläden im Haus über einen einzigen virtuellen Schalter bedienen können, um weniger klicken zu müssen.
Um das ganze auch HM gerecht umzusetzen, wollte ich einen virtuellen button mit zwei Kanälen nutzen und alle RL damit peeren.
So müsste eigentlich auch gesichert sein, dass alle RL tatsächlich rauf und runter fahren auch wenn die Funklast gerade hoch ist o.ä.
Gut, habe also einen vb erstellt mit zwei Kanälen.
Dann jedn der RL einzeln mit dem button gepeered:
set vb_01 peerChan 0 RL_N dual set both
Meiner Meinung nach müsste jetzt einer der vb rauf und der zweite runter steuern, genau so habe ich ja auch eine HM remote mit zwei Tasten mit den RL gepeered und dort klappt das.
Tja, nur das die RL hier zwar runter fahren aber dann nichts mehr tun. Also vermutlich würden sie immer wieder runter fahren wenn sie nicht schon unten wären.
Muss ich hier jetzt händisch bei jedem register nachbessern? Kann es sein, dass irgendwo ein Fehler im peerChan geschehen ist, weil der VB keine richtige standard register Vorlage für RL hat?
...
hier mal ein reg all eines RL:
Rollladen_OG_GZ type:blindActuator -
list:peer register :value
0: intKeyVisib :invisib
0: pairCentral :0xAFFE17
1: driveDown :50 s
1: driveTurn :0.5 s
1: driveUp :50 s
1: refRunCounter :0
1: sign :off
3:Alle_Rollladen_rauf lgActionType :jmpToTarget
3:Alle_Rollladen_rauf lgBlJtDlyOff :refOff
3:Alle_Rollladen_rauf lgBlJtDlyOn :dlyOff
3:Alle_Rollladen_rauf lgBlJtOff :dlyOff
3:Alle_Rollladen_rauf lgBlJtOn :dlyOff
3:Alle_Rollladen_rauf lgBlJtRampOff :rampOff
3:Alle_Rollladen_rauf lgBlJtRampOn :on
3:Alle_Rollladen_rauf lgBlJtRefOff :rampOff
3:Alle_Rollladen_rauf lgBlJtRefOn :on
3:Alle_Rollladen_rauf lgCtDlyOff :geLo
3:Alle_Rollladen_rauf lgCtDlyOn :geLo
3:Alle_Rollladen_rauf lgCtOff :geLo
3:Alle_Rollladen_rauf lgCtOn :geLo
3:Alle_Rollladen_rauf lgCtRampOff :geLo
3:Alle_Rollladen_rauf lgCtRampOn :geLo
3:Alle_Rollladen_rauf lgCtRefOff :geLo
3:Alle_Rollladen_rauf lgCtRefOn :geLo
3:Alle_Rollladen_rauf lgCtValHi :100
3:Alle_Rollladen_rauf lgCtValLo :50
3:Alle_Rollladen_rauf lgDriveMode :direct
3:Alle_Rollladen_rauf lgMaxTimeF :0.5 s
3:Alle_Rollladen_rauf lgMultiExec :on
3:Alle_Rollladen_rauf lgOffDly :0 s
3:Alle_Rollladen_rauf lgOffLevel :0 %
3:Alle_Rollladen_rauf lgOffTime :111600 s
3:Alle_Rollladen_rauf lgOffTimeMode :absolut
3:Alle_Rollladen_rauf lgOnDly :0 s
3:Alle_Rollladen_rauf lgOnLevel :100 %
3:Alle_Rollladen_rauf lgOnTime :111600 s
3:Alle_Rollladen_rauf lgOnTimeMode :absolut
3:Alle_Rollladen_rauf shActionType :jmpToTarget
3:Alle_Rollladen_rauf shBlJtDlyOff :refOff
3:Alle_Rollladen_rauf shBlJtDlyOn :dlyOff
3:Alle_Rollladen_rauf shBlJtOff :dlyOff
3:Alle_Rollladen_rauf shBlJtOn :dlyOff
3:Alle_Rollladen_rauf shBlJtRampOff :rampOff
3:Alle_Rollladen_rauf shBlJtRampOn :on
3:Alle_Rollladen_rauf shBlJtRefOff :rampOff
3:Alle_Rollladen_rauf shBlJtRefOn :on
3:Alle_Rollladen_rauf shCtDlyOff :geLo
3:Alle_Rollladen_rauf shCtDlyOn :geLo
3:Alle_Rollladen_rauf shCtOff :geLo
3:Alle_Rollladen_rauf shCtOn :geLo
3:Alle_Rollladen_rauf shCtRampOff :geLo
3:Alle_Rollladen_rauf shCtRampOn :geLo
3:Alle_Rollladen_rauf shCtRefOff :geLo
3:Alle_Rollladen_rauf shCtRefOn :geLo
3:Alle_Rollladen_rauf shCtValHi :100
3:Alle_Rollladen_rauf shCtValLo :50
3:Alle_Rollladen_rauf shDriveMode :direct
3:Alle_Rollladen_rauf shMaxTimeF :25.5 s
3:Alle_Rollladen_rauf shOffDly :0 s
3:Alle_Rollladen_rauf shOffLevel :0 %
3:Alle_Rollladen_rauf shOffTime :111600 s
3:Alle_Rollladen_rauf shOffTimeMode :absolut
3:Alle_Rollladen_rauf shOnDly :0 s
3:Alle_Rollladen_rauf shOnLevel :100 %
3:Alle_Rollladen_rauf shOnTime :111600 s
3:Alle_Rollladen_rauf shOnTimeMode :absolut
3:Alle_Rollladen_runter lgActionType :jmpToTarget
3:Alle_Rollladen_runter lgBlJtDlyOff :dlyOn
3:Alle_Rollladen_runter lgBlJtDlyOn :refOn
3:Alle_Rollladen_runter lgBlJtOff :dlyOn
3:Alle_Rollladen_runter lgBlJtOn :dlyOn
3:Alle_Rollladen_runter lgBlJtRampOff :off
3:Alle_Rollladen_runter lgBlJtRampOn :rampOn
3:Alle_Rollladen_runter lgBlJtRefOff :off
3:Alle_Rollladen_runter lgBlJtRefOn :rampOn
3:Alle_Rollladen_runter lgCtDlyOff :geLo
3:Alle_Rollladen_runter lgCtDlyOn :geLo
3:Alle_Rollladen_runter lgCtOff :geLo
3:Alle_Rollladen_runter lgCtOn :geLo
3:Alle_Rollladen_runter lgCtRampOff :geLo
3:Alle_Rollladen_runter lgCtRampOn :geLo
3:Alle_Rollladen_runter lgCtRefOff :geLo
3:Alle_Rollladen_runter lgCtRefOn :geLo
3:Alle_Rollladen_runter lgCtValHi :100
3:Alle_Rollladen_runter lgCtValLo :50
3:Alle_Rollladen_runter lgDriveMode :direct
3:Alle_Rollladen_runter lgMaxTimeF :0.5 s
3:Alle_Rollladen_runter lgMultiExec :on
3:Alle_Rollladen_runter lgOffDly :0 s
3:Alle_Rollladen_runter lgOffLevel :0 %
3:Alle_Rollladen_runter lgOffTime :111600 s
3:Alle_Rollladen_runter lgOffTimeMode :absolut
3:Alle_Rollladen_runter lgOnDly :0 s
3:Alle_Rollladen_runter lgOnLevel :100 %
3:Alle_Rollladen_runter lgOnTime :111600 s
3:Alle_Rollladen_runter lgOnTimeMode :absolut
3:Alle_Rollladen_runter shActionType :jmpToTarget
3:Alle_Rollladen_runter shBlJtDlyOff :dlyOn
3:Alle_Rollladen_runter shBlJtDlyOn :refOn
3:Alle_Rollladen_runter shBlJtOff :dlyOn
3:Alle_Rollladen_runter shBlJtOn :dlyOn
3:Alle_Rollladen_runter shBlJtRampOff :off
3:Alle_Rollladen_runter shBlJtRampOn :rampOn
3:Alle_Rollladen_runter shBlJtRefOff :off
3:Alle_Rollladen_runter shBlJtRefOn :rampOn
3:Alle_Rollladen_runter shCtDlyOff :geLo
3:Alle_Rollladen_runter shCtDlyOn :geLo
3:Alle_Rollladen_runter shCtOff :geLo
3:Alle_Rollladen_runter shCtOn :geLo
3:Alle_Rollladen_runter shCtRampOff :geLo
3:Alle_Rollladen_runter shCtRampOn :geLo
3:Alle_Rollladen_runter shCtRefOff :geLo
3:Alle_Rollladen_runter shCtRefOn :geLo
3:Alle_Rollladen_runter shCtValHi :100
3:Alle_Rollladen_runter shCtValLo :50
3:Alle_Rollladen_runter shDriveMode :direct
3:Alle_Rollladen_runter shMaxTimeF :25.5 s
3:Alle_Rollladen_runter shOffDly :0 s
3:Alle_Rollladen_runter shOffLevel :0 %
3:Alle_Rollladen_runter shOffTime :111600 s
3:Alle_Rollladen_runter shOffTimeMode :absolut
3:Alle_Rollladen_runter shOnDly :0 s
3:Alle_Rollladen_runter shOnLevel :100 %
3:Alle_Rollladen_runter shOnTime :111600 s
3:Alle_Rollladen_runter shOnTimeMode :absolut
3:Taster_OG_SH_L lgActionType :jmpToTarget
3:Taster_OG_SH_L lgBlJtDlyOff :refOff
3:Taster_OG_SH_L lgBlJtDlyOn :dlyOff
3:Taster_OG_SH_L lgBlJtOff :dlyOff
3:Taster_OG_SH_L lgBlJtOn :dlyOff
3:Taster_OG_SH_L lgBlJtRampOff :rampOff
3:Taster_OG_SH_L lgBlJtRampOn :on
3:Taster_OG_SH_L lgBlJtRefOff :rampOff
3:Taster_OG_SH_L lgBlJtRefOn :on
3:Taster_OG_SH_L lgCtDlyOff :geLo
3:Taster_OG_SH_L lgCtDlyOn :geLo
3:Taster_OG_SH_L lgCtOff :geLo
3:Taster_OG_SH_L lgCtOn :geLo
3:Taster_OG_SH_L lgCtRampOff :geLo
3:Taster_OG_SH_L lgCtRampOn :geLo
3:Taster_OG_SH_L lgCtRefOff :geLo
3:Taster_OG_SH_L lgCtRefOn :geLo
3:Taster_OG_SH_L lgCtValHi :100
3:Taster_OG_SH_L lgCtValLo :50
3:Taster_OG_SH_L lgDriveMode :direct
3:Taster_OG_SH_L lgMaxTimeF :0.5 s
3:Taster_OG_SH_L lgMultiExec :on
3:Taster_OG_SH_L lgOffDly :0 s
3:Taster_OG_SH_L lgOffLevel :0 %
3:Taster_OG_SH_L lgOffTime :111600 s
3:Taster_OG_SH_L lgOffTimeMode :absolut
3:Taster_OG_SH_L lgOnDly :0 s
3:Taster_OG_SH_L lgOnLevel :100 %
3:Taster_OG_SH_L lgOnTime :111600 s
3:Taster_OG_SH_L lgOnTimeMode :absolut
3:Taster_OG_SH_L shActionType :jmpToTarget
3:Taster_OG_SH_L shBlJtDlyOff :refOff
3:Taster_OG_SH_L shBlJtDlyOn :dlyOff
3:Taster_OG_SH_L shBlJtOff :dlyOff
3:Taster_OG_SH_L shBlJtOn :dlyOff
3:Taster_OG_SH_L shBlJtRampOff :rampOff
3:Taster_OG_SH_L shBlJtRampOn :on
3:Taster_OG_SH_L shBlJtRefOff :rampOff
3:Taster_OG_SH_L shBlJtRefOn :on
3:Taster_OG_SH_L shCtDlyOff :geLo
3:Taster_OG_SH_L shCtDlyOn :geLo
3:Taster_OG_SH_L shCtOff :geLo
3:Taster_OG_SH_L shCtOn :geLo
3:Taster_OG_SH_L shCtRampOff :geLo
3:Taster_OG_SH_L shCtRampOn :geLo
3:Taster_OG_SH_L shCtRefOff :geLo
3:Taster_OG_SH_L shCtRefOn :geLo
3:Taster_OG_SH_L shCtValHi :100
3:Taster_OG_SH_L shCtValLo :50
3:Taster_OG_SH_L shDriveMode :direct
3:Taster_OG_SH_L shMaxTimeF :25.5 s
3:Taster_OG_SH_L shOffDly :0 s
3:Taster_OG_SH_L shOffLevel :0 %
3:Taster_OG_SH_L shOffTime :111600 s
3:Taster_OG_SH_L shOffTimeMode :absolut
3:Taster_OG_SH_L shOnDly :0 s
3:Taster_OG_SH_L shOnLevel :100 %
3:Taster_OG_SH_L shOnTime :111600 s
3:Taster_OG_SH_L shOnTimeMode :absolut
3:Taster_OG_SH_R lgActionType :jmpToTarget
3:Taster_OG_SH_R lgBlJtDlyOff :dlyOn
3:Taster_OG_SH_R lgBlJtDlyOn :refOn
3:Taster_OG_SH_R lgBlJtOff :dlyOn
3:Taster_OG_SH_R lgBlJtOn :dlyOn
3:Taster_OG_SH_R lgBlJtRampOff :off
3:Taster_OG_SH_R lgBlJtRampOn :rampOn
3:Taster_OG_SH_R lgBlJtRefOff :off
3:Taster_OG_SH_R lgBlJtRefOn :rampOn
3:Taster_OG_SH_R lgCtDlyOff :geLo
3:Taster_OG_SH_R lgCtDlyOn :geLo
3:Taster_OG_SH_R lgCtOff :geLo
3:Taster_OG_SH_R lgCtOn :geLo
3:Taster_OG_SH_R lgCtRampOff :geLo
3:Taster_OG_SH_R lgCtRampOn :geLo
3:Taster_OG_SH_R lgCtRefOff :geLo
3:Taster_OG_SH_R lgCtRefOn :geLo
3:Taster_OG_SH_R lgCtValHi :100
3:Taster_OG_SH_R lgCtValLo :50
3:Taster_OG_SH_R lgDriveMode :direct
3:Taster_OG_SH_R lgMaxTimeF :0.5 s
3:Taster_OG_SH_R lgMultiExec :on
3:Taster_OG_SH_R lgOffDly :0 s
3:Taster_OG_SH_R lgOffLevel :0 %
3:Taster_OG_SH_R lgOffTime :111600 s
3:Taster_OG_SH_R lgOffTimeMode :absolut
3:Taster_OG_SH_R lgOnDly :0 s
3:Taster_OG_SH_R lgOnLevel :100 %
3:Taster_OG_SH_R lgOnTime :111600 s
3:Taster_OG_SH_R lgOnTimeMode :absolut
3:Taster_OG_SH_R shActionType :jmpToTarget
3:Taster_OG_SH_R shBlJtDlyOff :dlyOn
3:Taster_OG_SH_R shBlJtDlyOn :refOn
3:Taster_OG_SH_R shBlJtOff :dlyOn
3:Taster_OG_SH_R shBlJtOn :dlyOn
3:Taster_OG_SH_R shBlJtRampOff :off
3:Taster_OG_SH_R shBlJtRampOn :rampOn
3:Taster_OG_SH_R shBlJtRefOff :off
3:Taster_OG_SH_R shBlJtRefOn :rampOn
3:Taster_OG_SH_R shCtDlyOff :geLo
3:Taster_OG_SH_R shCtDlyOn :geLo
3:Taster_OG_SH_R shCtOff :geLo
3:Taster_OG_SH_R shCtOn :geLo
3:Taster_OG_SH_R shCtRampOff :geLo
3:Taster_OG_SH_R shCtRampOn :geLo
3:Taster_OG_SH_R shCtRefOff :geLo
3:Taster_OG_SH_R shCtRefOn :geLo
3:Taster_OG_SH_R shCtValHi :100
3:Taster_OG_SH_R shCtValLo :50
3:Taster_OG_SH_R shDriveMode :direct
3:Taster_OG_SH_R shMaxTimeF :25.5 s
3:Taster_OG_SH_R shOffDly :0 s
3:Taster_OG_SH_R shOffLevel :0 %
3:Taster_OG_SH_R shOffTime :111600 s
3:Taster_OG_SH_R shOffTimeMode :absolut
3:Taster_OG_SH_R shOnDly :0 s
3:Taster_OG_SH_R shOnLevel :100 %
3:Taster_OG_SH_R shOnTime :111600 s
3:Taster_OG_SH_R shOnTimeMode :absolut
in FHEM wird mittlerweile der Endzustand überwacht und ggf noch einmal gesendet. Ein schalten mehrere Rollos in einer Gruppe (structur oder was es so noch gibt) sollte eigentlich kein Problem mehr darstellen.
setze einmal
lgCtValLo 0
shCtValLo 0
fuer die virtuellen peers
Hi Martin,
danke für die rasche Antwort. Hehe, du hast natürlich den Ursprung meiner Idee gleich verstanden, und meinst also ich könnte auch einfach ein set RL* up/down nehmen? Wie würde ich das am besten in einen Button im Web bringen?
Möchte dennoch gerne den Fehler entdecken.
Hier nochmal das listing nach der Änderung, die leider nichts gebracht hat -> was aber zu erwartn war, denn der Taster, der auch hier gelistet ist hat die gleichen val Werte gehabt, der funktioniert aber ohne Probleme. Siehst du irgendeinen Unterschied in den readings, ich verlier immer den Durchblick wenn ich die Liste durchgehe :-(
Hab jetzt zum Testen den Hi auch mal auf 0 gesetzt, hat aber auch nichts gebracht. Also nicht wundern, dass der jetzt auch 0 ist.Habs aber auch mit 100 versucht.
Rollladen_OG_GZ type:blindActuator -
list:peer register :value
0: intKeyVisib :invisib
0: pairCentral :0xAFFE17
1: driveDown :50 s
1: driveTurn :0.5 s
1: driveUp :50 s
1: refRunCounter :0
1: sign :off
3:Alle_Rollladen_rauf lgActionType :jmpToTarget
3:Alle_Rollladen_rauf lgBlJtDlyOff :refOff
3:Alle_Rollladen_rauf lgBlJtDlyOn :dlyOff
3:Alle_Rollladen_rauf lgBlJtOff :dlyOff
3:Alle_Rollladen_rauf lgBlJtOn :dlyOff
3:Alle_Rollladen_rauf lgBlJtRampOff :rampOff
3:Alle_Rollladen_rauf lgBlJtRampOn :on
3:Alle_Rollladen_rauf lgBlJtRefOff :rampOff
3:Alle_Rollladen_rauf lgBlJtRefOn :on
3:Alle_Rollladen_rauf lgCtDlyOff :geLo
3:Alle_Rollladen_rauf lgCtDlyOn :geLo
3:Alle_Rollladen_rauf lgCtOff :geLo
3:Alle_Rollladen_rauf lgCtOn :geLo
3:Alle_Rollladen_rauf lgCtRampOff :geLo
3:Alle_Rollladen_rauf lgCtRampOn :geLo
3:Alle_Rollladen_rauf lgCtRefOff :geLo
3:Alle_Rollladen_rauf lgCtRefOn :geLo
3:Alle_Rollladen_rauf lgCtValHi :100
3:Alle_Rollladen_rauf lgCtValLo :0
3:Alle_Rollladen_rauf lgDriveMode :direct
3:Alle_Rollladen_rauf lgMaxTimeF :0.5 s
3:Alle_Rollladen_rauf lgMultiExec :on
3:Alle_Rollladen_rauf lgOffDly :0 s
3:Alle_Rollladen_rauf lgOffLevel :0 %
3:Alle_Rollladen_rauf lgOffTime :111600 s
3:Alle_Rollladen_rauf lgOffTimeMode :absolut
3:Alle_Rollladen_rauf lgOnDly :0 s
3:Alle_Rollladen_rauf lgOnLevel :100 %
3:Alle_Rollladen_rauf lgOnTime :111600 s
3:Alle_Rollladen_rauf lgOnTimeMode :absolut
3:Alle_Rollladen_rauf shActionType :jmpToTarget
3:Alle_Rollladen_rauf shBlJtDlyOff :refOff
3:Alle_Rollladen_rauf shBlJtDlyOn :dlyOff
3:Alle_Rollladen_rauf shBlJtOff :dlyOff
3:Alle_Rollladen_rauf shBlJtOn :dlyOff
3:Alle_Rollladen_rauf shBlJtRampOff :rampOff
3:Alle_Rollladen_rauf shBlJtRampOn :on
3:Alle_Rollladen_rauf shBlJtRefOff :rampOff
3:Alle_Rollladen_rauf shBlJtRefOn :on
3:Alle_Rollladen_rauf shCtDlyOff :geLo
3:Alle_Rollladen_rauf shCtDlyOn :geLo
3:Alle_Rollladen_rauf shCtOff :geLo
3:Alle_Rollladen_rauf shCtOn :geLo
3:Alle_Rollladen_rauf shCtRampOff :geLo
3:Alle_Rollladen_rauf shCtRampOn :geLo
3:Alle_Rollladen_rauf shCtRefOff :geLo
3:Alle_Rollladen_rauf shCtRefOn :geLo
3:Alle_Rollladen_rauf shCtValHi :0
3:Alle_Rollladen_rauf shCtValLo :0
3:Alle_Rollladen_rauf shDriveMode :direct
3:Alle_Rollladen_rauf shMaxTimeF :25.5 s
3:Alle_Rollladen_rauf shOffDly :0 s
3:Alle_Rollladen_rauf shOffLevel :0 %
3:Alle_Rollladen_rauf shOffTime :111600 s
3:Alle_Rollladen_rauf shOffTimeMode :absolut
3:Alle_Rollladen_rauf shOnDly :0 s
3:Alle_Rollladen_rauf shOnLevel :100 %
3:Alle_Rollladen_rauf shOnTime :111600 s
3:Alle_Rollladen_rauf shOnTimeMode :absolut
3:Alle_Rollladen_runter lgActionType :jmpToTarget
3:Alle_Rollladen_runter lgBlJtDlyOff :dlyOn
3:Alle_Rollladen_runter lgBlJtDlyOn :refOn
3:Alle_Rollladen_runter lgBlJtOff :dlyOn
3:Alle_Rollladen_runter lgBlJtOn :dlyOn
3:Alle_Rollladen_runter lgBlJtRampOff :off
3:Alle_Rollladen_runter lgBlJtRampOn :rampOn
3:Alle_Rollladen_runter lgBlJtRefOff :off
3:Alle_Rollladen_runter lgBlJtRefOn :rampOn
3:Alle_Rollladen_runter lgCtDlyOff :geLo
3:Alle_Rollladen_runter lgCtDlyOn :geLo
3:Alle_Rollladen_runter lgCtOff :geLo
3:Alle_Rollladen_runter lgCtOn :geLo
3:Alle_Rollladen_runter lgCtRampOff :geLo
3:Alle_Rollladen_runter lgCtRampOn :geLo
3:Alle_Rollladen_runter lgCtRefOff :geLo
3:Alle_Rollladen_runter lgCtRefOn :geLo
3:Alle_Rollladen_runter lgCtValHi :100
3:Alle_Rollladen_runter lgCtValLo :0
3:Alle_Rollladen_runter lgDriveMode :direct
3:Alle_Rollladen_runter lgMaxTimeF :0.5 s
3:Alle_Rollladen_runter lgMultiExec :on
3:Alle_Rollladen_runter lgOffDly :0 s
3:Alle_Rollladen_runter lgOffLevel :0 %
3:Alle_Rollladen_runter lgOffTime :111600 s
3:Alle_Rollladen_runter lgOffTimeMode :absolut
3:Alle_Rollladen_runter lgOnDly :0 s
3:Alle_Rollladen_runter lgOnLevel :100 %
3:Alle_Rollladen_runter lgOnTime :111600 s
3:Alle_Rollladen_runter lgOnTimeMode :absolut
3:Alle_Rollladen_runter shActionType :jmpToTarget
3:Alle_Rollladen_runter shBlJtDlyOff :dlyOn
3:Alle_Rollladen_runter shBlJtDlyOn :refOn
3:Alle_Rollladen_runter shBlJtOff :dlyOn
3:Alle_Rollladen_runter shBlJtOn :dlyOn
3:Alle_Rollladen_runter shBlJtRampOff :off
3:Alle_Rollladen_runter shBlJtRampOn :rampOn
3:Alle_Rollladen_runter shBlJtRefOff :off
3:Alle_Rollladen_runter shBlJtRefOn :rampOn
3:Alle_Rollladen_runter shCtDlyOff :geLo
3:Alle_Rollladen_runter shCtDlyOn :geLo
3:Alle_Rollladen_runter shCtOff :geLo
3:Alle_Rollladen_runter shCtOn :geLo
3:Alle_Rollladen_runter shCtRampOff :geLo
3:Alle_Rollladen_runter shCtRampOn :geLo
3:Alle_Rollladen_runter shCtRefOff :geLo
3:Alle_Rollladen_runter shCtRefOn :geLo
3:Alle_Rollladen_runter shCtValHi :100
3:Alle_Rollladen_runter shCtValLo :0
3:Alle_Rollladen_runter shDriveMode :direct
3:Alle_Rollladen_runter shMaxTimeF :25.5 s
3:Alle_Rollladen_runter shOffDly :0 s
3:Alle_Rollladen_runter shOffLevel :0 %
3:Alle_Rollladen_runter shOffTime :111600 s
3:Alle_Rollladen_runter shOffTimeMode :absolut
3:Alle_Rollladen_runter shOnDly :0 s
3:Alle_Rollladen_runter shOnLevel :100 %
3:Alle_Rollladen_runter shOnTime :111600 s
3:Alle_Rollladen_runter shOnTimeMode :absolut
3:Taster_OG_SH_L lgActionType :jmpToTarget
3:Taster_OG_SH_L lgBlJtDlyOff :refOff
3:Taster_OG_SH_L lgBlJtDlyOn :dlyOff
3:Taster_OG_SH_L lgBlJtOff :dlyOff
3:Taster_OG_SH_L lgBlJtOn :dlyOff
3:Taster_OG_SH_L lgBlJtRampOff :rampOff
3:Taster_OG_SH_L lgBlJtRampOn :on
3:Taster_OG_SH_L lgBlJtRefOff :rampOff
3:Taster_OG_SH_L lgBlJtRefOn :on
3:Taster_OG_SH_L lgCtDlyOff :geLo
3:Taster_OG_SH_L lgCtDlyOn :geLo
3:Taster_OG_SH_L lgCtOff :geLo
3:Taster_OG_SH_L lgCtOn :geLo
3:Taster_OG_SH_L lgCtRampOff :geLo
3:Taster_OG_SH_L lgCtRampOn :geLo
3:Taster_OG_SH_L lgCtRefOff :geLo
3:Taster_OG_SH_L lgCtRefOn :geLo
3:Taster_OG_SH_L lgCtValHi :100
3:Taster_OG_SH_L lgCtValLo :50
3:Taster_OG_SH_L lgDriveMode :direct
3:Taster_OG_SH_L lgMaxTimeF :0.5 s
3:Taster_OG_SH_L lgMultiExec :on
3:Taster_OG_SH_L lgOffDly :0 s
3:Taster_OG_SH_L lgOffLevel :0 %
3:Taster_OG_SH_L lgOffTime :111600 s
3:Taster_OG_SH_L lgOffTimeMode :absolut
3:Taster_OG_SH_L lgOnDly :0 s
3:Taster_OG_SH_L lgOnLevel :100 %
3:Taster_OG_SH_L lgOnTime :111600 s
3:Taster_OG_SH_L lgOnTimeMode :absolut
3:Taster_OG_SH_L shActionType :jmpToTarget
3:Taster_OG_SH_L shBlJtDlyOff :refOff
3:Taster_OG_SH_L shBlJtDlyOn :dlyOff
3:Taster_OG_SH_L shBlJtOff :dlyOff
3:Taster_OG_SH_L shBlJtOn :dlyOff
3:Taster_OG_SH_L shBlJtRampOff :rampOff
3:Taster_OG_SH_L shBlJtRampOn :on
3:Taster_OG_SH_L shBlJtRefOff :rampOff
3:Taster_OG_SH_L shBlJtRefOn :on
3:Taster_OG_SH_L shCtDlyOff :geLo
3:Taster_OG_SH_L shCtDlyOn :geLo
3:Taster_OG_SH_L shCtOff :geLo
3:Taster_OG_SH_L shCtOn :geLo
3:Taster_OG_SH_L shCtRampOff :geLo
3:Taster_OG_SH_L shCtRampOn :geLo
3:Taster_OG_SH_L shCtRefOff :geLo
3:Taster_OG_SH_L shCtRefOn :geLo
3:Taster_OG_SH_L shCtValHi :100
3:Taster_OG_SH_L shCtValLo :50
3:Taster_OG_SH_L shDriveMode :direct
3:Taster_OG_SH_L shMaxTimeF :25.5 s
3:Taster_OG_SH_L shOffDly :0 s
3:Taster_OG_SH_L shOffLevel :0 %
3:Taster_OG_SH_L shOffTime :111600 s
3:Taster_OG_SH_L shOffTimeMode :absolut
3:Taster_OG_SH_L shOnDly :0 s
3:Taster_OG_SH_L shOnLevel :100 %
3:Taster_OG_SH_L shOnTime :111600 s
3:Taster_OG_SH_L shOnTimeMode :absolut
3:Taster_OG_SH_R lgActionType :jmpToTarget
3:Taster_OG_SH_R lgBlJtDlyOff :dlyOn
3:Taster_OG_SH_R lgBlJtDlyOn :refOn
3:Taster_OG_SH_R lgBlJtOff :dlyOn
3:Taster_OG_SH_R lgBlJtOn :dlyOn
3:Taster_OG_SH_R lgBlJtRampOff :off
3:Taster_OG_SH_R lgBlJtRampOn :rampOn
3:Taster_OG_SH_R lgBlJtRefOff :off
3:Taster_OG_SH_R lgBlJtRefOn :rampOn
3:Taster_OG_SH_R lgCtDlyOff :geLo
3:Taster_OG_SH_R lgCtDlyOn :geLo
3:Taster_OG_SH_R lgCtOff :geLo
3:Taster_OG_SH_R lgCtOn :geLo
3:Taster_OG_SH_R lgCtRampOff :geLo
3:Taster_OG_SH_R lgCtRampOn :geLo
3:Taster_OG_SH_R lgCtRefOff :geLo
3:Taster_OG_SH_R lgCtRefOn :geLo
3:Taster_OG_SH_R lgCtValHi :100
3:Taster_OG_SH_R lgCtValLo :50
3:Taster_OG_SH_R lgDriveMode :direct
3:Taster_OG_SH_R lgMaxTimeF :0.5 s
3:Taster_OG_SH_R lgMultiExec :on
3:Taster_OG_SH_R lgOffDly :0 s
3:Taster_OG_SH_R lgOffLevel :0 %
3:Taster_OG_SH_R lgOffTime :111600 s
3:Taster_OG_SH_R lgOffTimeMode :absolut
3:Taster_OG_SH_R lgOnDly :0 s
3:Taster_OG_SH_R lgOnLevel :100 %
3:Taster_OG_SH_R lgOnTime :111600 s
3:Taster_OG_SH_R lgOnTimeMode :absolut
3:Taster_OG_SH_R shActionType :jmpToTarget
3:Taster_OG_SH_R shBlJtDlyOff :dlyOn
3:Taster_OG_SH_R shBlJtDlyOn :refOn
3:Taster_OG_SH_R shBlJtOff :dlyOn
3:Taster_OG_SH_R shBlJtOn :dlyOn
3:Taster_OG_SH_R shBlJtRampOff :off
3:Taster_OG_SH_R shBlJtRampOn :rampOn
3:Taster_OG_SH_R shBlJtRefOff :off
3:Taster_OG_SH_R shBlJtRefOn :rampOn
3:Taster_OG_SH_R shCtDlyOff :geLo
3:Taster_OG_SH_R shCtDlyOn :geLo
3:Taster_OG_SH_R shCtOff :geLo
3:Taster_OG_SH_R shCtOn :geLo
3:Taster_OG_SH_R shCtRampOff :geLo
3:Taster_OG_SH_R shCtRampOn :geLo
3:Taster_OG_SH_R shCtRefOff :geLo
3:Taster_OG_SH_R shCtRefOn :geLo
3:Taster_OG_SH_R shCtValHi :100
3:Taster_OG_SH_R shCtValLo :50
3:Taster_OG_SH_R shDriveMode :direct
3:Taster_OG_SH_R shMaxTimeF :25.5 s
3:Taster_OG_SH_R shOffDly :0 s
3:Taster_OG_SH_R shOffLevel :0 %
3:Taster_OG_SH_R shOffTime :111600 s
3:Taster_OG_SH_R shOffTimeMode :absolut
3:Taster_OG_SH_R shOnDly :0 s
3:Taster_OG_SH_R shOnLevel :100 %
3:Taster_OG_SH_R shOnTime :111600 s
3:Taster_OG_SH_R shOnTimeMode :absolut
Zitatmeinst also ich könnte auch einfach ein set RL* up/down nehmen?
nein.
aber ein
set NAME=RL.* up/down
oder
set model=HM-LC-Bl1PBU-FM up
gruss
andre
Danke Andre,
aber das verstehe ich nicht. Was bewirkt
set name=...
Mein Beispiel
set RL.* down
würde ja alle RL runterfahren.
Aber was macht ein
set NAME=
Hab ich noch nie gesehen und steht auch nicht in der commandref. *verwirrt bin*
LG
Martin
schau hier http://forum.fhem.de/index.php/topic,17074.msg112685.html#msg112685 und weiter unten in verbindung mit structure oder in der commandref nach devspec. steht alles da :)
gruss
andre
Andre,
vielleicht hab ich heute schon zu viel code gelesen in der Arbeit :-) aber ich raff es noch immer nicht.
Gut, devspec hab ich mir mal durchgelesen, ist ja ziemlich mächtig geworden mit der Zeit. Und in dem Beitrag hab ich auch gut erkannt wie schön man jede Menge filtern und bedingen kann.
Aber ich versteh noch nicht,
a) was das name= machen soll
und
b) was mir das hier gerade nützt? :-)
Mein Befehl
set RL.* up
würde ja schon alle rauffahren, das geht ja.
Aber was macht jetzt das NAME= zwischen set und dem Befehl?
Und wie erhalte ich das dann als WEB Button?:-)
Nur als Update, ich bin auch immer noch an der Lösung für das vb Problem interessiert ;-) @Martin oder wer sonst den Fehler sieht.
Danke ... hoff der Knoten für das devspec geht bald auf...
alle devices bei denen der internal value NAME einem bestimmten wert hat.
deine version mit RL.* macht tatsächlich das gleiche. scheinbar war ich nicht wacher als du und hab nur den fehlenden punkt gesehen ...
als button bekommst du das per structure oder dummy und notify.
gruss
andre
Hallo Andre,
ah, alles klar, dann hab ich es ja doch verstanden. Naja macht also nicht das gleiche, denn durch deine Ergänzung an meinem Befehl kann ich den Funkverkehr so reduzieren, dass der Befehl nur an alle geht, die eben nicht unten/oben sind ... ist doch eine tolle optimierung.
Ja, define und notify hab ich mir schon gedacht, aber ich hab noch nie ein notify mit einem button interagieren lassen, immer nur mit echten devices, das hat mich irgendwie blockiert...
Soll ich somit im notify einfach den readingvalue vom button abfragen? Oder geht das noch einfacher?
Danke!
Martin
bau dir einen dummy, setze mit setList z.b. die kommandos up und down und die beiden z.b. als webCmd oder devStateIcon und schau im event monitor was passiert wenn du klickst. damit definierst du dir dann dein notify.
gruss
andre
Hi Martin,
zum Problem mit dem direkten peeren - kannst du einmal messages aufzeichnen? Verstehen kann ich es noch nicht.
Uebrigens kannst du mit
get hm register -f Rollladen_OG_GZ
eine etwas komfortablere Ansicht der Register erhalten - speziell zum Vergleichen
Gruss Martin
Hi zusammen,
das direkte peering hab ich jetzt noch nicht weiterverfolgt.
Aber dafür die Tipps von Andre mal versucht umzusetzen.
ich hab jetzt einen Befehl, der meine Rollläden, welche nicht zu sind, bei Dunkelheit runterfährt:
{ if(ReadingsVal("Bewegungsmelder_Haus_N","brightness","") < 70) { fhem "set NAME=Rollladen.*:FILTER=STATE!=on 100" } }
Nur wie kann ich das jetzt in fhem so einbauen, dass es nur einmal ausgeführt wird, wenn der Schwellwert erreicht wurde und dann nicht mehr?
Ein at* würde es ja in einem gewissen interval ausführen.
Ein notify ständig?
Ein watchdog geht laut reference nur für einzelne devices?
Ich hätte jetzt nur die Idee einen zusätzlichen dummy zu bauen, der on/off anzeigt und so ein erneutes notify verhindert bis er wieder auf on steht.
Gibt es eine elegannte Lösung, wie ich die Rollläden bei Dunkelheit (laut meinem Bewegungsmelder - siehe obigen Befehl) runterfahren lassen kann?
Sonst bau ich wirklich einfach ein at, dass alle 10 Minuten checked oder sowas.
Liebe Grüße und Danke,
Martin
schau dir mal THRESHOLD an. das ist genau für solche schwellwert geschichten. inklusive hysterese.
gruss
andre
Zitat von: justme1968 am 11 März 2014, 15:47:59
schau dir mal THRESHOLD an. das ist genau für solche schwellwert geschichten. inklusive hysterese
Ich hab ein Dejavu der Satz taucht in letzter Zeit öfter auf :-).