@paul53
Hallo Paul,
wie kann ich beim Starten des Skriptes einmalig prüfen, ob ein Rauchmelder ausgelöst hat.
Aktuell bekomme ich keine Meldung wenn ich das Skript nach dem der Rauchmelder ausgelöst hat, starte.
Danke und Gruß
createState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, false, {type: 'boolean', name: 'Feueralarm'});
createState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlertRoom'/*smokeAlertRoom*/, '', {type: 'string', name: 'Raum Feueralarm'});
var timer = null;
var room = '';
var idEcho = "alexa2.0.Echo-Devices.G2A1A605204600ED";
var volume = getState(idEcho+".Player.volume"/*volume*/).val;
function alarmOnAlexa() {
setState(idEcho+".Commands.speak"/*speak*/,'Achtung! Im ' + room + ' wurde Rauch festgestellt!');
timer = setTimeout(alarmOnAlexa, 6000);
}
function alexa2controll(){
setState(idEcho+".Player.controlPause"/*pause*/,true,false);
setState(idEcho+".Player.volume"/*volume*/,100);
alarmOnAlexa();
}
function nachrichtOnWhatsApp(obj){
if(getState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/).val)
{
WhatsAppBot(2, String ('*!!Achtung!!*<br>' + (obj.channelName ? obj.channelName :"")) + '<br>meldet Rauch/Feuer <br>im ' + room + '!<br>*Bitte sofort überprüfen!!!!*');
}
}
on(Array.prototype.slice.apply($("state[id=*](functions=check_smoke)")), function(dp) {
if(dp.state.val) {
room = getObject(dp.id, 'rooms').enumNames;
for(let i = 0; i < room.length; i++) {
if(typeof room[i] == 'object') room[i] = room[i].de;
};
room = room.join(', ');
setState('zigbee.0.0015bc0031015362.alarm'/*Manual Start of Siren - Esszimmer OG*/, true, true);
setState('zigbee.0.0015bc0031014470.alarm'/*Manual Start of Siren - Treppenhaus OG*/, true, true);
setState('zigbee.0.0015bc0031013f40.alarm'/*Manual Start of Siren - Arbeitszimmer EG*/, true, true);
setState('zigbee.0.0015bc0031013dc7.alarm'/*Manual Start of Siren - Esszimmer EG*/, true, true);
setState('zigbee.0.0015bc003101495b.alarm'/*Manual Start of Siren - Technikraum UG*/, true, true);
setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, true, true);
setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlertRoom'/*smokeAlertRoom*/, room, true);
alexa2controll();
nachrichtOnWhatsApp(dp);
} else {
clearTimeout(timer);
setState('zigbee.0.0015bc0031015362.alarm'/*Manual Start of Siren - Esszimmer OG*/, false, true);
setState('zigbee.0.0015bc0031014470.alarm'/*Manual Start of Siren - Treppenhaus OG*/, false, true);
setState('zigbee.0.0015bc0031013f40.alarm'/*Manual Start of Siren - Arbeitszimmer EG*/, false, true);
setState('zigbee.0.0015bc0031013dc7.alarm'/*Manual Start of Siren - Esszimmer EG*/, false, true);
setState('zigbee.0.0015bc003101495b.alarm'/*Manual Start of Siren - Technikraum UG*/, false, true);
setState('0_userdata.0.Datenpunkte.Rauchmelder.smokeAlert'/*smokeAlert*/, false, true);
setState(idEcho+".Player.controlPause"/*pause*/,false,true);
setState(idEcho+".Player.volume"/*volume*/,30);
}
});