Moin,
Ich bin nun alles noch einmal durchgegangen, habe alle ITEMS, RULES usw deaktiviert damit nur Bewegungsmelder + Lampe online sind und auch nichts anderes im Log erscheint.
Vieleicht kann da jemand beim Verstehen helfen ?
Item Datei "BM_dummy.items"
erste Rules Datei "BM_offset.rules"
Code: Alles auswählen
rule "Offset ab 4 Uhr"
when
Time cron "* * 4 ? * MON-FRI" //Zeitschaltpunkt MO - FRI 4:00 Uhr
then
OffsetBewegungsmelder.sendCommand(0)
end
zweite Rules Datei "BM_zeitschalt.rules"
Code: Alles auswählen
// globale Variablen zu Beginn der *.rules Datei definieren!
var Timer tBewegung = null // Timervariable global definieren
rule "Bewegungsmelder mit timeout"
when
Item bw_melder received command ON // Bewegung wurde erkannt
then
if(OffsetBewegungsmelder.state == 0){ //Offsetitem wird hier abgefragt, in dem Fall Schaltzustand 0
tBewegung.cancel // zunächst eventuell laufende Timer entfernen
if(Lampe_Power.state != OFF) Lampe_Power.sendCommand(OFF) // Licht ausschalten, falls vor 4 Uhr noch an war.
}
if(OffsetBewegungsmelder.state == 1){ //Offsetitem wird hier abgefragt, in dem Fall Schaltzustand 1
tBewegung.cancel // zunächst eventuell laufende Timer entfernen
if(Lampe_Power.state != ON) Lampe_Power.sendCommand(ON) // Licht einschalten, falls noch nicht an.
tBewegung = createTimer(now.plusSeconds(45), [ | // Timer anlegen
if(Lampe_Power.state != OFF) Lampe_Power.sendCommand(OFF) // Licht ausschalten, falls noch nicht aus
tBewegung = null // Timervariable deinitialisieren
])
}
end
In VS Code wird kein Fehler angezeit, Lampe und Bewegungsmelder lassen sich einzeln schalten.
Log Bewegungsmelder:
2020-01-08 18:57:47.488 [vent.ItemStateChangedEvent] - bw_melder changed from OFF to ON
2020-01-08 18:57:57.237 [vent.ItemStateChangedEvent] - bw_melder changed from ON to OFF
Log Lampe:
2020-01-08 18:58:57.030 [ome.event.ItemCommandEvent] - Item 'Lampe_Power' received command ON
2020-01-08 18:58:57.054 [nt.ItemStatePredictedEvent] - Lampe_Power predicted to become ON
2020-01-08 18:58:57.072 [vent.ItemStateChangedEvent] - Lampe_Power changed from OFF to ON
2020-01-08 18:59:01.160 [ome.event.ItemCommandEvent] - Item 'Lampe_Power' received command OFF
2020-01-08 18:59:01.183 [nt.ItemStatePredictedEvent] - Lampe_Power predicted to become OFF
2020-01-08 18:59:01.198 [vent.ItemStateChangedEvent] - Lampe_Power changed from ON to OFF
Ist CRON auf -> Time cron "* * 4 ? * MON-FRI" <- kann ich natürlich im Log
nichts sehen weil es nicht 04:00 Uhr ist, setze ich den aber auf aktuell 19:00 -> Time cron "* * 19 ? * MON-FRI" <- erscheint es auch im Log:
2020-01-08 19:06:52.951 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'BM_offset.rules'
2020-01-08 19:06:53.002 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
2020-01-08 19:06:53.005 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
usw.
das scheint zu funktionieren.
Wird dann allerdings der Bewegungsmelder aktiviert, ändert sich der OffsetBewegungsmelder
NICHT!
2020-01-08 20:45:21.008 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
2020-01-08 20:45:21.920 [vent.ItemStateChangedEvent] - bw_melder changed from OFF to ON
2020-01-08 20:45:22.008 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
...
2020-01-08 20:45:32.008 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
2020-01-08 20:45:32.210 [vent.ItemStateChangedEvent] - bw_melder changed from ON to OFF
2020-01-08 20:45:33.009 [ome.event.ItemCommandEvent] - Item 'OffsetBewegungsmelder' received command 0
Könnte das ein Hinweis sein *warum* die Rules bei mir noch nciht funktionieren?