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