flag_manuelleFahrzeugwahl
id
AlarmNr
AlarmTime
isWorkingday
AlexaDevice
arr_curr_condition
AlarmTS
AlarmID
WeckerListe
boolDimUp
id_curr
json_curr_condition
DimUp2
byteDimStep
DimDown2
i
DimUp
DimDown
timeout_AlarmTriggered
timeout_setAlarm
timeout_mF
timeoutAddNewAlarm
flag_manuelleFahrzeugwahl
FALSE
SZ-AlexaWecker stellen für den Tag
bei Scriptstart ausführen
Um 00:05 jeden Tag
5 0 * * *
0_userdata.0.Mobilitaet.manuelleFahrzeugwahl
ne
0 - keine Auwahl
1 - S-Pedelec
2 - Auto
id
flag_manuelleFahrzeugwahl
TRUE
flag_manuelleFahrzeugwahl
timeout_mF
2000
ms
flag_manuelleFahrzeugwahl
FALSE
log
test
manuelleFahrzeugwahl trigger:
state.val
SZ-AlexaWecker hat ausgelöst
true
default
alexa2.0.Echo-Devices.000IDVONGERAET0.Alarm.*.triggered
AlarmTS
state.ts
AlarmID
FROM_START
FROM_START
id
1
-10
log
test
id
log
test
AlarmID
OR
EQ
AlarmID
val
0_userdata.0.Geräte.Wecker.1.AlexaAlarmID
EQ
AlarmID
val
0_userdata.0.Geräte.Wecker.2.AlexaAlarmID
deconz.0.Lights.1.bri
FALSE
0
deconz.0.Lights.1.hue
TRUE
50
ms
FALSE
1
360
deconz.0.Lights.1.bri
TRUE
100
ms
FALSE
125
deconz.0.Lights.1.action
TRUE
500
ms
FALSE
"on":true, "bri":125
timeout_mF
timeout_AlarmTriggered
4
sec
false
FALSE
Object ID
AlarmID
.enabled
FALSE
0
val
0_userdata.0.Geräte.Wecker.current_conditions
alexa2.0.Echo-Devices.000IDVONGERAET0.Routines.2e486802-a45c-4ec6-aafd-ed9c3ed01a5f
TRUE
100
ms
FALSE
TRUE
alexa2.0.Echo-Devices.000IDVONGERAET0.Commands.speak
FALSE
Die Weckerbedingungen sind:
val
0_userdata.0.Geräte.Wecker.current_conditions
alexa2.0.Echo-Devices.000IDVONGERAET0.Routines.2e486802-a45c-4ec6-aafd-ed9c3ed01a5f
TRUE
45
sec
FALSE
TRUE
flag_manuelleFahrzeugwahl
FALSE
deconz.0.Sensors.24.buttonpressed
ne
log
test
state.val
EQ
state.val
1002
Singleclick
deconz.0.Lights.1.hue
TRUE
50
ms
FALSE
1
360
Bad-LED-Streifen ein
sonoff.0.sonoff-rgb-2.POWER3
TRUE
10
sec
FALSE
TRUE
EQ
state.val
1004
Doubleclick
AND
EQ
AlarmNr
1
LT
MINUS
1
state.ts
1
AlarmTS
ADD
1
AlarmTS
3000000
FahrradWeckZeit & Doppelclick weniger als 50min her
0_userdata.0.Mobilitaet.manuelleFahrzeugwahl
FALSE
2
Wecker2 wird gestellt...
EQ
state.val
1001
LongClickOn
EQ
boolDimUp
TRUE
hochdimmen
LT
val
ID auswählen
MINUS
1
255
1
byteDimStep
oben DP der Lampe mit dem Dimmwert
DimUp2
200
ms
Object ID
FALSE
ADD
1
val
ID auswählen
20
byteDimStep
oben jeweils DB der Lampe mit dem Dimmwert
boolDimUp
FALSE
runterdimmen
GTE
val
ID auswählen
byteDimStep
oben DP der Lampe mit dem Dimmwert
DimDown2
200
ms
Object ID
FALSE
MINUS
1
val
ID auswählen
20
byteDimStep
oben jeweils DB der Lampe mit dem Dimmwert
boolDimUp
TRUE
LongClickOff / Wert=1003
DimUp2
DimUp2
EQ
state.val
1002
Singleclick
Object ID
FALSE
oben DP vom power/Switch der Lampe eintragen
EQ
state.val
1004
Doubleclick
EQ
state.val
1001
LongClickOn
EQ
boolDimUp
TRUE
hochdimmen
LT
val
ID auswählen
MINUS
1
255
1
byteDimStep
oben DP der Lampe mit dem Dimmwert
DimUp
200
ms
Object ID
FALSE
ADD
1
val
ID auswählen
20
byteDimStep
oben jeweils DB der Lampe mit dem Dimmwert
boolDimUp
FALSE
runterdimmen
GTE
val
ID auswählen
byteDimStep
oben DP der Lampe mit dem Dimmwert
DimDown
200
ms
Object ID
FALSE
MINUS
1
val
ID auswählen
20
byteDimStep
oben jeweils DB der Lampe mit dem Dimmwert
boolDimUp
TRUE
LongClickOff / Wert=1003
DimUp
DimDown
existDP
aWYoZXhpc3RzT2JqZWN0KGlkKSkgcmV0dXJuIGV4aXN0c1N0YXRlKGlkKTsNCnJldHVybiBmYWxzZTs=
Prüft ob der Datenpunkt mit der [id] existiert.
chk_isWorkingDay
Funktion - Ist aktueller Tag ein Arbeitstag? (iCal/Feiertag-Adapter)
OR
val
feiertage.0.heute.boolean
val
ical.0.events.0.today.Urlaub
isWorkingday
FALSE
AND
LT
0
wd
LT
wd
6
isWorkingday
TRUE
isWorkingday
FALSE
0_userdata.0.Allgemein.IsWorkingDay
FALSE
isWorkingday
isWorkingday
chk_DWD_dasWetter
prüft die Wetterbedingungen den vorgegebenen Grenzwerten (DWD- und DasWetter-Adapter)
Wetterwarnung
GT
val
dwd.0.warning.level
1
INSERT
LAST
arr_curr_condition
val
dwd.0.warning.text
AlarmNr
2
chk 06:00:00 Werte
LT
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.temp_value
val
0_userdata.0.Geräte.Wecker.thresholdTemperature
INSERT
LAST
arr_curr_condition
Außentemperatur nur
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.temp_value
°C
AlarmNr
2
GT
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.humidity_value
val
0_userdata.0.Geräte.Wecker.thresholdHumidity
INSERT
LAST
arr_curr_condition
Luftfeuchtigkeit beträgt
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.humidity_value
%
AlarmNr
2
GT
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.wind_value
val
0_userdata.0.Geräte.Wecker.thresholdWindspeed
INSERT
LAST
arr_curr_condition
Windgeschwindigkeit beträgt
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.wind_value
km/h
AlarmNr
2
GT
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.rain_value
val
0_userdata.0.Geräte.Wecker.thresholdRain
INSERT
LAST
arr_curr_condition
Regenmenge beträgt
val
daswetter.0.NextHours.Location_1.Day_1.Hour_6.rain_value
mm
AlarmNr
2
log
test
arr_curr_condition
log
test
Auswertung von Wetter :
AlarmNr
AddNewAlarm
erstellt einen neuen AlexaWecher
Parameter:
AlarmNr:1(für Fahrradfahrt); 2(Autofahrt)
AlarmTime(optional)Zeit die eingestellt werden soll
AlexaDevice
val
0_userdata.0.Geräte.Wecker.
AlarmNr
.AlexaAlarmID
AlexaDevice
FROM_START
FROM_START
AlexaDevice
1
-37
AlarmTime
AlarmTime
val
0_userdata.0.Geräte.Wecker.
AlarmNr
.defaultTime
merken welche Wecker es schon gibt
WeckerListe
id_curr
alexa2.0.Echo-Devices.000IDVONGERAET0.Alarm.*.time
INSERT
LAST
WeckerListe
id_curr
neuen Wecker bei Alexa eintragen
--diese werden automatisch eingeschaltet!
--aber leider nur 1x
false
FALSE
Object ID
AlexaDevice
.New
TRUE
AlarmTime
0
nach neuem Wecker suchen und im ioBroker eintragen
DimUp2
timeoutAddNewAlarm
10
sec
id_curr
alexa2.0.Echo-Devices.000IDVONGERAET0.Alarm.*.time
AND
EQ
FIRST
WeckerListe
id_curr
0
EQ
val
id_curr
AlarmTime
false
FALSE
Object ID
0_userdata.0.Geräte.Wecker.
AlarmNr
.AlexaAlarmID
TRUE
FROM_START
FROM_START
id_curr
1
-5
0
.0
warn
FALSE
default
text
Achtung, der Alexawecker für 'Fahrt zur Arbeit mit
val
0_userdata.0.Mobilitaet.
AlarmNr
.name
um
AlarmTime
' musste neu angelegt werden. Überprüfe es in der AlexaApp.
BREAK
setAlarm
stellt den Wecker nach den verschiedenen Bedingungen
arr_curr_condition
check-Arbeitstag?
AlarmNr
1
check-Wetter?
check-eigene Fahrzeugwahl?
LT
0
val
0_userdata.0.Mobilitaet.manuelleFahrzeugwahl
AlarmNr
val
0_userdata.0.Mobilitaet.manuelleFahrzeugwahl
AND
EQ
AlarmNr
1
AND
LT
val
0_userdata.0.Mobilitaet.1.batteryState
45
EQ
val
0_userdata.0.Mobilitaet.1.batteryLoading
FALSE
flag_manuelleFahrzeugwahl
alexa2.0.Echo-Devices.G0911M0995020XSN.Commands.speak
FALSE
Warnung! manuelle Fahrzeugwahl
val
0_userdata.0.Mobilitaet.
AlarmNr
.name
, Akku hat zu wenig Ladung! bitte Ladegerät anschließen oder Auto auswählen.
INSERT
LAST
arr_curr_condition
manuelle Fahrzeugwahl:
val
0_userdata.0.Mobilitaet.
AlarmNr
.name
nicht übernommen, Akku hat zu wenig Ladung!
AlarmNr
2
INSERT
LAST
arr_curr_condition
manuelle Fahrzeugwahl:
val
0_userdata.0.Mobilitaet.
AlarmNr
.name
AlarmNr
0
0_userdata.0.Geräte.Wecker.current_activ_nr
TRUE
1
min
FALSE
AlarmNr
JSON zusammenbauen aus Listenwerten
arr_curr_condition
json_curr_condition
json_curr_condition
{
i
arr_curr_condition
json_curr_condition
json_curr_condition
"Bedingung": "
i
",
json_curr_condition
FROM_START
FROM_START
json_curr_condition
1
MINUS
1
abc
json_curr_condition
1
json_curr_condition
json_curr_condition
}
log
test
json_curr_condition
0_userdata.0.Geräte.Wecker.current_conditions
TRUE
5
sec
FALSE
json_curr_condition
Wecker stellen
val
0_userdata.0.Geräte.Wecker.1.AlexaAlarmID
.enabled
1
val
0_userdata.0.Geräte.Wecker.2.AlexaAlarmID
.enabled
2
DimUp2
timeout_setAlarm
1
min
EQ
AlarmNr
0
log
Wecker beide aus
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.1.AlexaAlarmID
.enabled
FALSE
10000
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.2.AlexaAlarmID
.enabled
FALSE
12000
EQ
AlarmNr
1
log
Wecker 1 ein
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.1.AlexaAlarmID
.enabled
TRUE
10000
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.2.AlexaAlarmID
.enabled
FALSE
12000
log
Wecker 2 ein
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.1.AlexaAlarmID
.enabled
FALSE
10000
false
FALSE
Object ID
val
0_userdata.0.Geräte.Wecker.2.AlexaAlarmID
.enabled
TRUE
12000
FALSE
default
text
AlarmNr:
AlarmNr
//
json_curr_condition