Weiter zum Inhalt

Off Topic

3.3k Themen 51.2k Beiträge
Hier kann über alles geredet werden was sonst nirgendwo hinpasst

NEWS

Unterkategorien


  • 107 Themen
    2k Beiträge
    D
    Für mich klingt das nach er nutzt die Zugangsdaten vom alten System. Auf dem neuen ist aber nur der Standarduser eingerichtet...
  • 260 4k
    260 Themen
    4k Beiträge
    Meister MopperM
    @bloop Ich bin von v13 erstmal wieder zurück auf v12.4+. Bisher hatte ich bei jedem Major Release breaking changes Probleme, die erst mit einem vX.1 behoben wurden. Um das Major Upgrade zu verhindern und trotzdem die neuen Versionen des aktuellen Zweiges bekommen, habe ich eine *.pref Datei in /etc/apt/preferences.d erstellt. Das funktioniert, und ich lasse mir von GitHub die Änderungen der Grafana releases zumailen, und schaue, was sich tut. Ja, das ist jetzt auch mal ein Plädoyer dafür, dass man nicht immer (ohne Sicherheitshintergrund!) sofort auf die nächste Major springen muss.
  • 153 3k
    153 Themen
    3k Beiträge
    HomoranH
    @iceman8080 dann sollten höchstens noch bei Neustart der influx-instanz Einträge mit influxdb als Quelle auftreten. Alles andere müsste javascript als Quelle angeben
  • Fragen und Hilfe zur externen SQL Datenbank

    1 5
    1 Themen
    5 Beiträge
    fuzzy1955F
    Teil 5: Verwenden der SQL-Daten in Diagrammen bzw. im VIS-2 Der Hauptzweck der Datenhistorisierung liegt natürlich in der grafischen bzw. tabellarischen Darstellung, um daraus mögliche Entscheidungen abzuleiten, etwa wo setzte ich beim Börsenstrompreis mein Bezugslimit. Eine einfache Möglichkeit zur grafischen Darstellung bieten die DIAGRAMME. Man wählt als Datenquellen die gewünschten SQL-Historisierungspunkte, stellt noch ein paar Dinge ein und … fertig. [image: 1770367644381-664a0f95-2fc3-48ae-babe-1a8ffafab1ad-image.png] Um das Ganze im VIS-2 anzuzeigen, nimmt man dort das Widget „Basic -IFrame“ und gibt bei Allgemein – Quelle den Link aus den Diagrammen an. [image: 1770367662940-281a33d1-fcdc-49bb-a3d9-c0fb7ea8ecd1-image.png] So kann man sich ein VIS-2-View nur für Diagramme bauen, bei der die gewünschte Art des Diagrammes angetippt wird: [image: 1770367682322-9328d9e4-3448-4e5a-8c92-8eeec3f2b52c-image.png] Die tabellarischen Darstellung im VIS-2 geschieht mit dem Widget „Basic Table“, bei dem man einen separaten Datenpunkt (Table Object ID) mit JSON-Daten befüllt. Dieses Beispiel zeigt Tages-, Monats- und Jahreswerte einer Strombilanz untereinander. [image: 1770367711812-00a9e22f-d74a-43e7-982f-0e35c37db84a-image.png] Die Datenpunkte dazu: { "alias.0.Diagrammdaten.StrombilanzJahre": { "common": { "name": "StrombilanzJahre", "desc": "Manuell erzeugt", "role": "state", "type": "json", "read": true, "write": true, "alias": { "id": "javascript.0.variables.j006" } }, "type": "state", "native": {}, "_id": "alias.0.Diagrammdaten.StrombilanzJahre", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "val": "", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1768340995710, "ack": false }, "alias.0.Diagrammdaten.StrombilanzMonate": { "common": { "name": "StrombilanzMonate", "desc": "Manuell erzeugt", "role": "state", "type": "json", "read": true, "write": true, "alias": { "id": "javascript.0.variables.j005" } }, "type": "state", "native": {}, "_id": "alias.0.Diagrammdaten.StrombilanzMonate", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "val": "", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1768340995710, "ack": false }, "alias.0.Diagrammdaten.StrombilanzTage": { "common": { "name": "StrombilanzTage", "desc": "Manuell erzeugt", "role": "state", "type": "json", "read": true, "write": true, "alias": { "id": "javascript.0.variables.j004" } }, "type": "state", "native": {}, "_id": "alias.0.Diagrammdaten.StrombilanzTage", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "val": "", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1768340995710, "ack": false } } Mit einem Javascript werden die Datenpunkte zeitgesteuert befüllt. strSQL = "SELECT DATE_FORMAT (tag, '%Y-%m-%d') AS Tag, " + "ROUND(SUM(pv) / 1000.0,1) AS PV, " + "ROUND(AVG(akku)) AS Hausakku, " + "ROUND(SUM(haus) / 1000.0,1) AS Haus, " + "ROUND(SUM(eauto) / 1000.0,1) AS eAuto, " + "ROUND(SUM(gen) / 1000.0,1) AS Gen, " + "ROUND(SUM(nots) / 1000.0,1) AS Nots, " + "ROUND(SUM(gesamt) / 1000.0,1) AS gesamt, " + "ROUND(COUNT(autark)) AS autark " + "FROM iobroker.tagesstatistik " + "GROUP BY DATE_FORMAT (tag, '%Y-%m-%d') " + "ORDER BY DATE_FORMAT (tag, '%Y-%m-%d') desc;"; sendTo('sql.0', 'query', strSQL, function (result) { if (result.error) { console.error(result.error); } else { MyTrigger (idStrombilanzTage,JSON.stringify(result.result)); } }); --------------------------- Voila , das war die ganze Zauberei --------------------------- Anregungen, Fragen etc. bitte hier anhängen.
  • 276 Themen
    5k Beiträge
    ubeckerU
    @MartinP Ich habe jetzt bei mit 2 Stück ESP32 S3 ETH in Betrieb. Einen für analoge Werte den anderen als 8fach Relais mit Timer. Allerdings habe ich die Software dazu so weit wie möglich selbst geschrieben. (Librarys außen vor) Da ich kein W-Lan wollte direkt per LAN angebunden. Per MQTT dann in IOBroker. Eine kleine Web-UI hab ich auch dazu gebastelt. Läuft absolut gut. Die Relaiskarte ist allerdings erst 2 Wochen online. Das analoge Teil jetzt 1 Monat. Da ich in dem analogen Teil etliche Berechnungen drin habe war auch meine Befürchtung das die Leistung nicht ausreicht. Im Hintergrung laufen dann noch ADC und DAC mit einer eigenen Soft SPI. (die interne habe ich nicht zum laufen gebracht) Mit 4Mikrosekunden Takt. Ich habe nicht gemessen wie schnell die antwortzeiten sind, aber eine Änderung im IOBroker für den analogwert ist gefühlt sofort da. Ausgabe des analogen Wert und Anzeige auf der Web-UI. Denke der ist noch weit weg von ausgelastet.
  • 196 6k
    196 Themen
    6k Beiträge
    ilovegymI
    danke für den hinweis, funktioniert hier auch besser als vorher.. ( vorher war mehr failover als balancer..)
  • Fragen zu Docker-Installationen

    23 343
    23 Themen
    343 Beiträge
    J
    @Marc-Berg sagte: @juggi1962 sagte: Falls jemand eine Andere Erklärung dafür hat, bitte gern hier kund tun Du musst noch einen weiteren Container-Port freigeben, damit die Erfolgsmeldung angezeigt wird. Steht auch so in der Backitup Anleitung / Wiki. https://github.com/simatec/ioBroker.backitup/blob/master/docs/de/backitup.md#docker-unterstützung Alles klar und DANKE, werde ich versuchen. Gruß Jürgen
  • 55 733
    55 Themen
    733 Beiträge
    da_WoodyD
    ok, ich versuche auch erstmal meine dummheit mit chatgpt zu lösen. manchmal hilfts, manchmal nicht. bevor ich dann aber hier ein topic aufmache, gehe ich auf die anfangsposition zurück, oder soweits halt geht. warum sollte ich hier einen pro mit verbockten ki scripts quälen? ich sehs ja in meinem kleinen forum mit ca. 35 leuten. einer hat unter meinem nick eine whatsapp gruppe aufgemacht. die beiträge im brett sind schlagartig zurück gegangen.
  • Telegram Bot Call Verständnisfrage

    telegram fritzbox asterisk anruf
    2
    0 Stimmen
    2 Beiträge
    888 Aufrufe
    dslraserD
    @Xyolyp sagte in Telegram Bot Call Verständnisfrage: gibt die Telegram API die notwendige Schnittstelle hierfür her und hat jemand einen Ansatz oder etwas ähnliches schon gemacht? Am Besten Du fragst mal beim Ersteller von CallMeBot_API https://www.callmebot.com/#need_support
  • IoBroker in Promox Container verliert Netzwerk

    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    Nico 0N
    Erster Ansatzpunkt war jetzt das syslog, wo doch einiges los ist... alle 30s kommt der folgender Error: [image: 1581776027561-171bb109-5fe3-422a-958c-bcc9c84ed2ad-image.png] Resolve.conf sehe ich mir auch mal an, danke.
  • OS + ioBroker-Entwicklungsumgebung auf USB-Stick für Laptop

    7
    0 Stimmen
    7 Beiträge
    450 Aufrufe
    MicM
    Cool, danke für eure Antworten @el_malto , @CruziX , @Uhula :-) Schaue ich mir die Tage näher an. @Uhula VPN-Alternative fällt für meinen Anwendungsfall leider aus, weil ich das auch internetlos (z.B. im Flugzeug) nutzen möchte. Aber Windows-To-Go klingt interessant.
  • Reiner Zufall

    1
    1
    5 Stimmen
    1 Beiträge
    332 Aufrufe
    Niemand hat geantwortet
  • Angreifer nutzen ZigBee-Sicherheitslücke aus...

    5
    0 Stimmen
    5 Beiträge
    622 Aufrufe
    T
    Ich denke schon, dass das relevant ist. Kommt wohl ein Update und dann sind die jeweiligen Basen geschützt, jedoch kann man die Lampe ohne Update noch immer kontrollieren. Andererseits gibts vielleicht dann mal ein Tool, mit dem man seine Lampen updaten kann ohne die jeweilige Basis zu besitzen.
  • Hilfe bei CUxD / Anfängerfrage [gelöst]

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    J
    @Reongard Servus. Ich habe bei mir auch gerade einen HMIP-BSM in betrieb genommen und der STATE von Channel 4 lässt sich bei mir garnicht steuern. Ich bekomme immer den Fehler: (2017) xmlrpc -> setValue: no dpType for hm-rpc.1.00085A499BF485.4.STATE! Hast du eine Idee woran das liegen könnte? Gruß Jaschkopf
  • Local DNS vs. Zeroconf / Bonjour / Avahi

    1
    0 Stimmen
    1 Beiträge
    238 Aufrufe
    Niemand hat geantwortet
  • Kategorie Adapter

    kategorie adapter
    4
    5 Stimmen
    4 Beiträge
    688 Aufrufe
    C
    Ich bin grad auf diesen Beitrag aufmerksam gemacht worden. Anscheinend gab es mal eigene Kategorien für die einzelnen Adapter. Ich wäre dafür, dass dies wieder so aufgebaut wird. Diese Unordnung finde ich katastrophal. https://forum.iobroker.net/topic/29675/strukturierung-des-forums
  • [gelöst] ioBroker & Co. auf Raspi3 vorbereiten

    4
    0 Stimmen
    4 Beiträge
    233 Aufrufe
    HomoranH
    @oberfragger Da fällt mir noch was ein. Wenn der pi4 eine andere ip bekommt müssen entsprechende settings in den Instanzen angepasst werden.
  • Sicherheit Smarthome

    sicherheit smarthome
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    OpenSourceNomadO
    @Markus84 said in Sicherheit Smarthome: Hat hier noch jemand andere Empfehlungen? Als Open Source Fetischist würde ich zu etwas wie OPNsense oder IPFire tendieren. Was die Hardware angeht bis du dann auch flexibel. Läuft teilweise auch auf schon auf ultra-lowcost (&low power) arm soc's wie z.B. einen raspberry (besser jedoch gleich in ein Gerät mit mehr als einem gigabit port investieren - dann hat man später, wenn das Neulandzeitalter mal da ist, nicht gleich ein bottle-neck ;) ). Im kuketz-blog gibt es u.a. sehr verständliche Anleitungen für IPFire
  • Suche Gerätefirmware >1.0 für HM-Sec-SD Rauchmeld

    firmware homematic
    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    HomoranH
    Hat sich anscheinend doch noch etwas geändert im Procedere. Die HmIP-Firmware musste ich im PopUp anklicken - herunterladen und auf die CCU bringen, danach sah es dann so aus: [image: 1580050921786-hmip_upgrade.png] Also auch bei HmIP und (piV)CCU2 ein manueller Vorgang. Bleibt zu hoffen, dass entsprechende HM-Firmware auf dem selben Weg zur Verfügung gestellt wird. Dann wird auch auf der EQ-3 Seite unter Downloads keine Datei mehr benötigt
  • SmartHome Treffen Nordwest

    usertreffen nordwest stammtisch
    14
    1 Stimmen
    14 Beiträge
    2k Aufrufe
    PowerPanP
    WOW mehr kann ich nicht sagen. Als ich die Idee zu dem Treffen hatte habe ich mit Max 15 Teilnehmern gerechnet und nun waren es über 50 Ein DANKE an alle die da waren Wir machen weiter und zwar am 26.03.2020 um ca 18 Uhr Alle Details im Pad wie gehabt https://pad.mainframe.io/p/SmartHomeTreffenMaerz20 Und auf der Mailingliste https://mailman.kreativitaet-trifft-technik.de/listinfo/hausautomation
  • [gelöst] Verständnisfrage wLan Steckdosen

    4
    0 Stimmen
    4 Beiträge
    482 Aufrufe
    -Alex- 0-
    @Asgothian @SBorg vielen Dank für eurere schnelle und ausführlichen Erläuterung zu dieser Thematik. Jetzt bin ich wieder ein wenig schlauer. Werde mich dann mal in die Thematik der Controller Standards einarbeiten und mal schauen was sich da ergibt und was Sinn macht. Danke euch!
  • Zwei Zigbee Gateways im selben Netzwerk?

    3
    0 Stimmen
    3 Beiträge
    6k Aufrufe
    J
    Schade! Aber Danke.
  • Schalter-Serie für Neubau

    schalter steckdosen neubau
    16
    0 Stimmen
    16 Beiträge
    2k Aufrufe
    OpenSourceNomadO
    Ich habe im Neubau die DS102-3 (gibt's auch in -2, -1 Ausführung): [image: 1576943528519-img_20191221_175026.jpg] Ich habe darauf esphome laufen. Riesen vorteil ist, selbst wenn die ganze Steuerzentrale abraucht oder das Wlan gejammt wird (z.B mittels deauth), das Teil funktioniert trotzdem (analog natürlich). Wermutstropfen: Wenn der Strom weg ist, gibt's natürlich nix zu schalten 🙄 Zusätzlich kann ich damit jede weiteren erdenklichen Sachen steuern und das zuhauf (einfach klick, doppel klick, dreifach klick, x Sekunden gedrückt halten, usw.). Außerdem ist es natürlich auch möglich beliebige Status mittels der Leds anzeigen zu lassen und/oder diese als Schalterbeleuchtung/Nachtlicht zu verwenden. Also ist das Teil sogesehen natürlich deutlich mehr als 'nur' ein primitiver Lichtschalter (ist sowieso ein Taster ;) ). Ich verbaue auch immer gleich die 3-fach Edition (3 Schalter, 3 Relais, 4 Leds), auch wenn ich nur eines zum schalten in der Dose brauche. Einfach genial alle möglichen Steuermöglichkeiten nur einen Fingertipp entfernt zu haben. 😉 Falls du das fertige template für esphome brauchst, findest du es hier.
  • Was kann Kodi eigentlich alles?

    Verschoben kodi fire tv iobroker
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    MicM
    Ich nutze Kodi ausschließlich als Client für IPTV (Tvheadend), es läuft bei mir zuverlässig auf einem Philips TV als App. Siehe auch hier: https://forum.iobroker.net/post/200465
  • Weis einer was mit frankjoke los ist?

    vermisst
    1
    0 Stimmen
    1 Beiträge
    197 Aufrufe
    Niemand hat geantwortet
  • Absolute Anfängerfragen - Grundidee

    22
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    4
    Dank euch für eure Rückmeldung! Ich werde mich jetzt mal damit beschäftigen und komme wieder auf euch und dieses klasse Forum zurück wenn ich weitere Hilfe benötige. Tausend dank!
  • Statusdisplay - McLighting vs. Tasmota Son. Basic

    13
    0 Stimmen
    13 Beiträge
    3k Aufrufe
    G
    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);
  • Suche over-ear BT Kopfhörer mit ANC bis 100€

    1
    0 Stimmen
    1 Beiträge
    93 Aufrufe
    Niemand hat geantwortet

671

Online

33.0k

Benutzer

83.3k

Themen

1.3m

Beiträge