NEWS
Statusdisplay - McLighting vs. Tasmota Son. Basic
-
Hallo,
ich habe mir das Statusdisplay nach Dennis' Anleitung gebaut. Anleitung.
Zuerst hab ich Tasmota geflasht, aber die Nutzung per MQTT (Sonoff Adapter) ist doch sehr eingeschr
ä
nkt und per HTTP-Request zu schalten gef
ä
llt mir nicht. Auch wird beim Anschalten
ü
ber SetState ("...Power",true) der Zustand aller LEDs auf einen Default gesetzt. Damit ist ein Display, welches sich nur bei
Ä
nderung eines Zustandes aktiviert, nur schwer realisierbar.Danach hab ich McLighting geflasht (Github). Hat einige vorgefertigte Lichteffekte, die Steuerung einzelnen LEDs
ü
ber den McLightning Adapter funktioniert auch gut. Aber die Firmware scheint es nicht zu verkraften, wenn man zu viele Anfragen auf einmal sendet. Mir ist es auf zwei verschiedenen ESP8266 passiert, dass diese dann nicht mehr booteten; h
ä
ngen im Schritt 3 von 4 fest. Beim Debuggen zeigte sich, dass diverse Konfigurationen aus dem Flashspeicher gelesen werden und dabei h
ä
ngt er sich auf (Vermutung: das Schreiben der Konfig wird nur Mist abgelegt, der beim Booten dann nicht funktioniert. Habe nichts gefunden um das zu deaktivieren).
Auch wird diese Version nicht mehr weiter entwickelt.Dann den McLighting-Fork von FabLab-Luenen getestet: Github. Aber dieser arbeitet nicht mit dem McLighting-Adapter zusammen.
Gibt es Meinungen oder Ideen in der Community hierzu? Wie habt ihr das gel
ö
st? -
@Gwenselah sagte in Statusdisplay - McLighting vs. Tasmota Son. Basic:
Statusdisplay
Moin,
passt zwar nicht zum Statusdisplay, habe aber schon mehrer Projekte mit MCLighting in Verbindung ioBroker umgesetzt.
Schade das MCLightling nicht weiter entwickelt wird, oder gibt es eine bessere Alternative, f
ü
r den ESP8266 und ioBroker -
@Gwenselah sagte in Statusdisplay - McLighting vs. Tasmota Son. Basic:
Statusdisplay
Moin,
passt zwar nicht zum Statusdisplay, habe aber schon mehrer Projekte mit MCLighting in Verbindung ioBroker umgesetzt.
Schade das MCLightling nicht weiter entwickelt wird, oder gibt es eine bessere Alternative, f
ü
r den ESP8266 und ioBroker@Elektroman said in Statusdisplay - McLighting vs. Tasmota Son. Basic:
@Gwenselah sagte in Statusdisplay - McLighting vs. Tasmota Son. Basic:
Statusdisplay
Moin,
passt zwar nicht zum Statusdisplay, habe aber schon mehrer Projekte mit MCLighting in Verbindung ioBroker umgesetzt.
Schade das MCLightling nicht weiter entwickelt wird, oder gibt es eine bessere Alternative, f
ü
r den ESP8266 und ioBrokerIch w
ü
rde es mal mit esphome probieren. Hat sehr m
ä
chtige light components. Mittels mqtt oder rest-api d
ü
rfte die iobroker Integration ein Kinderspiel sein 
-
@Gwenselah sagte in Statusdisplay - McLighting vs. Tasmota Son. Basic:
Statusdisplay
Moin,
passt zwar nicht zum Statusdisplay, habe aber schon mehrer Projekte mit MCLighting in Verbindung ioBroker umgesetzt.
Schade das MCLightling nicht weiter entwickelt wird, oder gibt es eine bessere Alternative, f
ü
r den ESP8266 und ioBroker -
Hallo,
ich habe mir das Statusdisplay nach Dennis' Anleitung gebaut. Anleitung.
Zuerst hab ich Tasmota geflasht, aber die Nutzung per MQTT (Sonoff Adapter) ist doch sehr eingeschr
ä
nkt und per HTTP-Request zu schalten gef
ä
llt mir nicht. Auch wird beim Anschalten
ü
ber SetState ("...Power",true) der Zustand aller LEDs auf einen Default gesetzt. Damit ist ein Display, welches sich nur bei
Ä
nderung eines Zustandes aktiviert, nur schwer realisierbar.Danach hab ich McLighting geflasht (Github). Hat einige vorgefertigte Lichteffekte, die Steuerung einzelnen LEDs
ü
ber den McLightning Adapter funktioniert auch gut. Aber die Firmware scheint es nicht zu verkraften, wenn man zu viele Anfragen auf einmal sendet. Mir ist es auf zwei verschiedenen ESP8266 passiert, dass diese dann nicht mehr booteten; h
ä
ngen im Schritt 3 von 4 fest. Beim Debuggen zeigte sich, dass diverse Konfigurationen aus dem Flashspeicher gelesen werden und dabei h
ä
ngt er sich auf (Vermutung: das Schreiben der Konfig wird nur Mist abgelegt, der beim Booten dann nicht funktioniert. Habe nichts gefunden um das zu deaktivieren).
Auch wird diese Version nicht mehr weiter entwickelt.Dann den McLighting-Fork von FabLab-Luenen getestet: Github. Aber dieser arbeitet nicht mit dem McLighting-Adapter zusammen.
Gibt es Meinungen oder Ideen in der Community hierzu? Wie habt ihr das gel
ö
st?@Gwenselah
Das kennst Du?:
LED Status Display
Es l
ä
uft in ioBroker
ü
ber den mqtt-Adapter (Achtung: evtl. anderen mqtt-Port w
ä
hlen, falls der schon durch z.B. Sonoff-mqtt belegt ist).Beim Einschalten werden alle Kan
ä
le (LED01 - LED31) subscribed und somit auch alle aktuellen States angezeigt, also nicht nur bei
Ä
nderung eines States.
Ist allerdings "ganz normal"
ü
ber die Arduino-IDE geflashed und die Nezwerkparameter (IP-Adresse, WLAN-SSID, etc.) m
ü
ssen manuell im Sketch eingtragen werden ( ich bin ein Freund statischer IP-Adressen bei fest installierten Ger
ä
ten).Ich habe 2 Stck. dieser LED Status-Displays gebaut und sie laufen absolut problemlos, keine H
ä
nger, o.
ä
. -
@Gwenselah
Das kennst Du?:
LED Status Display
Es l
ä
uft in ioBroker
ü
ber den mqtt-Adapter (Achtung: evtl. anderen mqtt-Port w
ä
hlen, falls der schon durch z.B. Sonoff-mqtt belegt ist).Beim Einschalten werden alle Kan
ä
le (LED01 - LED31) subscribed und somit auch alle aktuellen States angezeigt, also nicht nur bei
Ä
nderung eines States.
Ist allerdings "ganz normal"
ü
ber die Arduino-IDE geflashed und die Nezwerkparameter (IP-Adresse, WLAN-SSID, etc.) m
ü
ssen manuell im Sketch eingtragen werden ( ich bin ein Freund statischer IP-Adressen bei fest installierten Ger
ä
ten).Ich habe 2 Stck. dieser LED Status-Displays gebaut und sie laufen absolut problemlos, keine H
ä
nger, o.
ä
. -
@Gwenselah
Das kennst Du?:
LED Status Display
Es l
ä
uft in ioBroker
ü
ber den mqtt-Adapter (Achtung: evtl. anderen mqtt-Port w
ä
hlen, falls der schon durch z.B. Sonoff-mqtt belegt ist).Beim Einschalten werden alle Kan
ä
le (LED01 - LED31) subscribed und somit auch alle aktuellen States angezeigt, also nicht nur bei
Ä
nderung eines States.
Ist allerdings "ganz normal"
ü
ber die Arduino-IDE geflashed und die Nezwerkparameter (IP-Adresse, WLAN-SSID, etc.) m
ü
ssen manuell im Sketch eingtragen werden ( ich bin ein Freund statischer IP-Adressen bei fest installierten Ger
ä
ten).Ich habe 2 Stck. dieser LED Status-Displays gebaut und sie laufen absolut problemlos, keine H
ä
nger, o.
ä
.@joergeli said in Statusdisplay - McLighting vs. Tasmota Son. Basic:
Ist allerdings "ganz normal"
ü
ber die Arduino-IDE geflashed und die Nezwerkparameter (IP-Adresse, WLAN-SSID, etc.) m
ü
ssen manuell im Sketch eingtragen werdenIch habe es gl
ü
cklicherweise 2019 hin bekommen alle meine (ca. 40) ESP Ger
ä
tschaften von Tasmota, Espeasy, Espurna und anderen custom Arduino sketches auf esphome zu migrieren.Seit dem habe ich die volle Kontrolle.
Ich kann nicht nur jedem meiner ESP's aus der ferne neu starten oder herunterfahren, nein, ich sehe auch f
ü
r alle meine ESP die aktuell verf
ü
gbaren System Informationen, angefangen vom online status
ü
ber die WLAN Signalst
ä
rke, BSSID, SSID und IP. Au
ß
erdem die eingesetzte Hardware bzw. ESP Modul, Software Version sowie die Uptime. Zus
ä
tzlich werde diese Daten nat
ü
rlich auch mitgeloggt. Alle
Ä
nderungen am ESP werden dar
ü
ber hinaus nat
ü
rlich over-the-air eingespielt.Wer sich einmal an diesen Luxus gew
ö
hnt hat kommt davon nie wieder weg. 
Nebenbei kann ich mit so vielen dezentralisierten Sensoren auch sehr gute R
ü
ckschl
ü
sse ziehen, wie die WLAN Ausleuchte ist und wie sie sich durch eine Standor
ä
nderung des Access Points ver
ä
ndert. Oder wie sich auch nur eine leichte Ausrichtung der Antennen positiv (oder negativ) auf die gesamte WLAN Abdeckung auswirkt. Das ganze wohl gemerkt 'gratis', zus
ä
tzlich zur eigentlichen Aufgabe der ESP's, sei es simple LEDs wie hier, displays, cameras, thermostate, relays, power monitore oder jegliche weiteren denkbaren Sensoren und Aktoren 
-
Hallo und frohes Neues!
Mit so einer Resonanz habe ich nicht gerechnet, vielen Dank.
Werde ich mir mal alles in ruhe anschauen -
Ich finde MC lighting aber ich komme mit der Einstellung nicht klar. Gibt es eine fertige bin von Mclighting bzw wie man es einfacher flashen kann.
Danke im vorraus -
Ich finde MC lighting aber ich komme mit der Einstellung nicht klar. Gibt es eine fertige bin von Mclighting bzw wie man es einfacher flashen kann.
Danke im vorraus -
@Gwenselah Danke
Und wie hast du es auf Tasmota gel
ö
st. Gibt es da auch fertige Modies. Da Tasmota auch einfacher w
ä
re zu installieren. -
Hier mal quick&dirty:
Gebaut hab ich das wie der gute Dennis es hier beschreibt: https://www.youtube.com/watch?v=gN2gJ3IYXpo&t=491s
Da ich aber kein Blockly Freund bin, hab ich ein Javascript entwickelt, welches per HTTP Request, die LEDs setzt.Paar Infos dazu:
Ich setze sehr stark auf den LinkedDevices Adapter und schreibe dort den Datenpunkt "open" f
ü
r die T
ü
rkontaktsensoren entsprechend um: false=geschlossen, true=offen. Die Datenpunkte existierten bereits und ich wollte hierf
ü
r keine neuen anlegen.
In ObjektLEDs wird die Zuordnung des Datenpunktes auf die LED definiert.
Mit den Variablen Doors,BoolDevicesTrueRED,BoolDevicesTrueGreen und Lights definiert man, wie sich die LED verhalten soll.
F
ü
r die M
ü
lltonnen hab ich eine Sonderbehandlung, da ich mein M
ü
lltonnenscript nicht komplett umbauen wollte.Hier mein Script:
/* BEI TASMOTA BEGINNT DIE ZÄHLUNG BEI 1 !!! LED 29: Wohnzimmer linke Tür LED 18: Kai Türe LED 17: Gästezimmer Türe LED 6: Altpapaier LED 5: linke Waschmaschine LED 28: Wohnzimmer rechte Tür LED 19: Kai Fenster LED 16: Gästezimmer Fenster LED 7: Biomüll LED 4: rechte Waschmaschine LED 27: Küche Fenster LED 20: Lea Türe LED 15: Büro Fenster LED 8: Restmüll LED 3: Trockner LED 26: WC Fenster LED 21: Bad Fenster LED 14: Klimagerät LED 9: Wertstoffe LED 2: Geschirrspüler LED 25: Waschküche Fenster LED 22: Schlafzimmer Fenster LED 13: Entertainment LED 10: LED 1: LED 24: Keller Fenster LED 23: Garagentor LED 12: LED 11: LED 0: Gäste WLAN */ // Lichtfarbendefinition //Originale Farbwerte: //var ColorOK = "10FF00"; //Grün //var ColorWarning = "ffcb05"; //Orange bis Gelb //var ColorError = "ff0000"; //Rot //diese waren zu hell, durch Konvertierung auf HSL, dimmen auf ide Hälfte (L = 25%) und zurück nach RGB, ergibt: var ColorOK = "043800"; //Grün var ColorWarning = "806600"; //Orange bis Gelb var ColorError = "800000"; //Rot //Gerätedefinition var DisplayIP = "10.1.24.105"; var ObjektLEDs = [ //BEI TASMOTA BEGINNT DIE ZÄHLUNG BEI 1 !!! { Objekt: 'linkeddevices.0.Livingroom.wlanGuest', LED: '01' }, { Objekt: '', LED: '02' }, { Objekt: 'linkeddevices.0.Kitchen.DisherStatusBinaer', LED: '03' }, { Objekt: 'linkeddevices.0.Washroom.DryerStatusBinaer', LED: '04' }, { Objekt: 'linkeddevices.0.Washroom.WasherRightStatusBinaer', LED: '05' }, { Objekt: 'linkeddevices.0.Washroom.WasherLeftStatusBinaer', LED: '06' }, { Objekt: 'Altpapier', LED: '07' }, //Altpapier { Objekt: 'BioMuell', LED: '08' }, //Biomüll { Objekt: 'RestMuell', LED: '09' }, //Restmüll { Objekt: 'Wertstoffe', LED: '10' }, //Wertstoffe { Objekt: '', LED: '11' }, { Objekt: '', LED: '12' }, { Objekt: '', LED: '13' }, { Objekt: 'linkeddevices.0.Livingroom.ENTERTAINMENTstate', LED: '14' }, { Objekt: 'linkeddevices.0.Office.KLIMAGERAETstate', LED: '15' }, { Objekt: '', LED: '16' }, { Objekt: '', LED: '17' }, { Objekt: 'linkeddevices.0.Guests.DoorOpened', LED: '18' }, { Objekt: 'linkeddevices.0.Kai.DoorOpened', LED: '19' }, { Objekt: 'linkeddevices.0.Kai.WindowOpened', LED: '20' }, { Objekt: 'linkeddevices.0.Lea.DoorOpened', LED: '21' }, { Objekt: 'linkeddevices.0.Bath.WindowOpened', LED: '22' }, { Objekt: 'linkeddevices.0.Sleepingroom.opened', LED: '23' }, { Objekt: 'linkeddevices.0.Garage.opened', LED: '24' }, { Objekt: 'linkeddevices.0.Cellar.WindowOpened', LED: '25' }, { Objekt: 'linkeddevices.0.Washroom.WindowOpened', LED: '26' }, { Objekt: 'linkeddevices.0.WC.WindowOpened', LED: '27' }, { Objekt: 'linkeddevices.0.Kitchen.opened', LED: '28' }, { Objekt: 'linkeddevices.0.Livingroom.DoorRightOpened', LED: '29' }, { Objekt: 'linkeddevices.0.Livingroom.DoorLeftOpened', LED: '30' } ]; //Türen und Fenster var Doors = ['linkeddevices.0.Livingroom.DoorLeftOpened','linkeddevices.0.Livingroom.DoorRightOpened','linkeddevices.0.Garage.opened','linkeddevices.0.Bath.WindowOpened', 'linkeddevices.0.Kitchen.opened','linkeddevices.0.Sleepingroom.opened','linkeddevices.0.Kai.DoorOpened','linkeddevices.0.Kai.WindowOpened','linkeddevices.0.Lea.DoorOpened', 'linkeddevices.0.Cellar.WindowOpened','linkeddevices.0.Washroom.WindowOpened','linkeddevices.0.WC.WindowOpened','linkeddevices.0.Guests.DoorOpened']; var BoolDevicesTrueRED = ['linkeddevices.0.Office.KLIMAGERAETstate','linkeddevices.0.Livingroom.ENTERTAINMENTstate','linkeddevices.0.Livingroom.wlanGuest', 'linkeddevices.0.Washroom.DryerStatusBinaer','linkeddevices.0.Washroom.WasherLeftStatusBinaer','linkeddevices.0.Washroom.WasherRightStatusBinaer','linkeddevices.0.Kitchen.DisherStatusBinaer']; //LED ist rot, wenn der Status dieses Gerätes TRUE ist var BoolDevicesTrueGreen = []; //LED ist grün, wenn der Status dieses Gerätes TRUE ist var Lights = []; //LED ist gelb, wenn die Lampe an ist, ansonsten aus // ----------------------------------------- function wait(ms){ var start = new Date().getTime(); var end = start; while(end < start + ms) { end = new Date().getTime(); } } function RunRequest(URL){ try { require("request")(URL).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } console.log("Statusdisplay Request: " + URL); } // --- Funktion für Einzelledsteuerung ---------------------------------------------------------- function SwitchLED (LEDNo, ColorCode) { if (getState('sonoff.0.Statusdisplay.POWER').val) { RunRequest("http://"+DisplayIP+"/cm?cmnd=Led"+LEDNo+"%20"+ColorCode); } } function GetLedNo (DeviceTriggerName){ //log ("Dev: " + DeviceTriggerName); for (var ObjektLED in ObjektLEDs) { //ObjektLED enthält nur eine Nummer und nicht das Element //log ("Name: " + ObjektLEDs[ObjektLED].Objekt); if (ObjektLEDs[ObjektLED].Objekt == DeviceTriggerName) { return (ObjektLEDs[ObjektLED].LED); } } } function SetBoolDevicesTrueRED (DeviceTriggerName, DeviceTriggerValue) { if (DeviceTriggerValue == "true" || DeviceTriggerValue == "1" || DeviceTriggerValue == "läuft" ) { SwitchLED (GetLedNo(DeviceTriggerName),ColorError); } else { SwitchLED (GetLedNo(DeviceTriggerName),ColorOK); } } function SetBoolDevicesTrueGreen (DeviceTriggerName, DeviceTriggerValue) { if (DeviceTriggerValue == "true" || DeviceTriggerValue == "1") { SwitchLED (GetLedNo(DeviceTriggerName),ColorOK); } else { SwitchLED (GetLedNo(DeviceTriggerName),ColorError); } } function SetDoorsLED (DeviceTriggerName, DeviceTriggerValue) { if (DeviceTriggerValue == "geschlossen") { SwitchLED (GetLedNo(DeviceTriggerName),ColorOK); } else { SwitchLED (GetLedNo(DeviceTriggerName),ColorError); } } function SetLightsLED (DeviceTriggerName, DeviceTriggerValue) { if (DeviceTriggerValue) { SwitchLED (GetLedNo(DeviceTriggerName),ColorWarning); } else { SwitchLED (GetLedNo(DeviceTriggerName),"000000"); } } function SetMuelltonnenLights(){ function SwitchGarbageLEDs(GarbageName,Days){ if (Days == 0) { SwitchLED (GetLedNo(GarbageName),ColorError); } else if (Days == 1) { SwitchLED (GetLedNo(GarbageName),ColorWarning); } else { SwitchLED (GetLedNo(GarbageName),ColorOK); } } var RestMuellResttage = getState('Datenpunkte.0.Wertstoffe.Restmüll_Resttage').val; var BioMuellResttage = getState('Datenpunkte.0.Wertstoffe.Bio_Resttage').val; var AltpapierResttage = getState('Datenpunkte.0.Wertstoffe.Papier_Resttage').val; var WertstoffeResttage = getState('Datenpunkte.0.Wertstoffe.Wertstoffe_Resttage').val; SwitchGarbageLEDs("BioMuell",BioMuellResttage); SwitchGarbageLEDs("RestMuell",RestMuellResttage); SwitchGarbageLEDs("Altpapier",AltpapierResttage); SwitchGarbageLEDs("Wertstoffe",WertstoffeResttage); } // --- globale Displayfunktionen ---------------------------------------------------------------- function ResetDisplay(){ setState('sonoff.0.StatusDisplay.Color','000000'); //setState('sonoff.0.StatusDisplay.POWER',false); //Power wird bei MQTT automatisch auf false gesetzt } function SwitchOffDisplayDelayed(){ //setStateDelayed('sonoff.0.Statusdisplay.POWER',false,(1000 * 60)); //Angabe in Millisekunden } function SwitchOnOffDisplay(PowerOn){ if (PowerOn) { RunRequest("http://"+DisplayIP+"/cm?cmnd=Power%20on"); log ("Status Display: Power On"); } else { RunRequest("http://"+DisplayIP+"/cm?cmnd=Power%20off"); log ("Status Display: Power Off"); } } function InitDisplay(){ log ("+++ Statusdisplay Init"); //Option20 setzen: LED: ermöglicht den Dimmwert zu verändern, ohne die Versorgung einzuschalten (default = 0 / off) RunRequest("http://"+DisplayIP+"/cm?cmnd=SetOption20%201"); RunRequest("http://"+DisplayIP+"/cm?cmnd=fade%200"); RunRequest("http://"+DisplayIP+"/cm?cmnd=scheme%200"); wait (1000); //Milliseconds //alle undefinierten LEDs löschen for (i = 0; i < 30; i++) { //console.log ("------------------------------------------------------------"); //console.log(ObjektLEDs[i].Objekt + ": " + ObjektLEDs[i].Objekt.length); if (ObjektLEDs[i].Objekt == '') { SwitchLED ((i+1),"000000"); wait (500); //Milliseconds } } if (Doors.length > 0) { Doors.forEach(function(element) { SetDoorsLED(element,getState(element).val); }); } if (BoolDevicesTrueRED.length > 0) { BoolDevicesTrueRED.forEach(function(element) { //var value = getState(element).val; //SetBoolDevicesTrueRED(element,value); SetBoolDevicesTrueRED(element,getState(element).val); }); } if (BoolDevicesTrueGreen.length > 0) { BoolDevicesTrueGreen.forEach(function(element) { SetBoolDevicesTrueGreen(element,getState(element).val); }); } if (Lights.length > 0) { Lights.forEach(function(element) { SetLightsLED(element,getState(element).val); }); } SetMuelltonnenLights(); } // --- MAIN --------------------------------------------------------------------------- on({id:'sonoff.0.Statusdisplay.POWER', change: 'ne'},(obj) => { var value = obj.state.val; log ("Statusdisplay - Power: " + value); if (value) { InitDisplay(); } }); on({id: Doors, change: 'ne'},(obj) => { //setState('sonoff.0.StatusDisplay.POWER',true) var value = obj.state.val; var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD //var DeviceID=objArr[1]+"."+objArr[2]; //var DeviceName=objArr[2]; /*console.log("Trigger: " + objArr[0]); console.log("Pfad: " + objArr[1]); console.log("Devic);name: " + objArr[2]); console.log("localDeviceID:"+DeviceID);*/ SetDoorsLED(objArr[0],value); SwitchOffDisplayDelayed(); }); on({id: BoolDevicesTrueRED, change: 'ne'},(obj) => { //setState('sonoff.0.StatusDisplay.POWER'/*Turn On/Off*/,true) var value = obj.state.val; var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD SetBoolDevicesTrueRED(objArr[0],value); SwitchOffDisplayDelayed(); }); on({id: BoolDevicesTrueGreen, change: 'ne'},(obj) => { //setState('sonoff.0.StatusDisplay.POWER'/*Turn On/Off*/,true) var value = obj.state.val; var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD SetBoolDevicesTrueGreen(objArr[0],value); SwitchOffDisplayDelayed(); }); on({id: Lights, change: 'ne'},(obj) => { //setState('sonoff.0.StatusDisplay.POWER'/*Turn On/Off*/,true) //InitDisplay(); var value = obj.state.val; var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD SetLightsLED(objArr[0],value); SwitchOffDisplayDelayed(); }); //-- Inits -- if (getState('linkeddevices.0.Diningroom.StatusdisplayPOWER').val == false) { //setState('linkeddevices.0.Diningroom.StatusdisplayPOWER',true); //Power True triggert "InitDisplay()" SwitchOnOffDisplay(true); } else { InitDisplay(); } //Display AN/AUS Steuerung on({id: 'javascript.0.Astro.Astrotag',val: true}, function(){ //Wenn es Tag wird Display anschalten if (getState('linkeddevices.0.Diningroom.StatusdisplayPOWER').val == false) { SwitchOnOffDisplay(true); } }) on({id: 'linkeddevices.0.Diningroom.CEILINGSWITCHSwitch', change: 'ne'}, function() { //Wenn es Nacht ist, wird das Display mit der Deckenlampe geschaltet if (getState('javascript.0.Astro.Astrotag').val == false) { SwitchOnOffDisplay(getState('linkeddevices.0.Diningroom.CEILINGSWITCHSwitch').val); } }) //schedule('0 6 * * *', function(){SwitchOnOffDisplay(true)}); schedule('55 22 * * *', function(){SwitchOnOffDisplay(false)}); //zur Sicherheit trotzdem um 23 Uhr ausschalten schedule('1 6 * * *', SetMuelltonnenLights);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden