Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.1.x - just another remarkable vis

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

jarvis v3.1.x - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
1.8k Beiträge 92 Kommentatoren 727.6k Aufrufe 77 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    marsmännchen
    schrieb am zuletzt editiert von
    #423

    @dominik-f
    Nein, ich sitze schon seit ca. 14:20 dabei meine eingeschalteten Lichter zu visualisieren.
    Ja ich benutze den Alias Manager, aber eine möglichkeit 100 in true und 0 in false umzuwandeln finde ich in keiner Anleitung. Nur zum umrechnen mit val/100 und dergleichen.
    licht6.PNG
    Und von selber kommt ein User da nicht drauf.
    Jetzt bin ich gerade am JavaScript lesen wie ich eine IF/ELSE Bedienung schreiben könnte um mir das um zu wandeln weil es scheinbar in Blockly wieder einen Studienabschluss in BLOCKLYNISMUS benötigt.
    Aber ichbin schon echt sauer und hab schon langsam keine Lust mehr auf den ganzen....

    Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
    Wago PFC200 mit Dali Lichtsteuerung.

    1 Antwort Letzte Antwort
    0
    • Marc_el_KM Offline
      Marc_el_KM Offline
      Marc_el_K
      schrieb am zuletzt editiert von
      #424

      Hallo,

      ich habe ein IFrame eingebunden mit einer Kamera und das Bild aktualisiert sich regelmäßig ist aber leider zu groß für das Widget. Kann mir jemand verraten, wie man das Image auf 100% Widgetbreite bekommt, damit es auf jedem Endgerät automatisch angepasst wird?

      Dankeschön :-)

      M 1 Antwort Letzte Antwort
      0
      • M marsmännchen

        @mcu
        Ok, aber zum Script kann ich dir nur sagen, das ist von einem anderen User, ich hab es nur minimal angepasst:

        //der-eine 05.06.2020
        //Ursprüngliches Skript: https://github.com/Pittini/iobroker-Fensterauswertung
        //Das folgende Skript wurde zum zählen von eingeschaltenen Lichtern umgeschrieben.
        //
        // V1.2.3 vom 1.4.2020
        //Script um eingeschaltene Lichter pro Raum und insgesamt zu zählen. Legt pro Raum zwei Datenpunkte an, sowie zwei Datenpunkte fürs gesamte.
        //Möglichkeit eine Ansage nach x Minuten einmalig oder zyklisch bis Fensterschließung anzugeben
        //Dynamische erzeugung einer HTML Übersichtstabelle
        //WICHTIG!!!
        //Vorraussetzungen: Den Geräten müssen Räume zugewiesen sein, sowie die Funktion "Verschluss" für jeden entsprechenden Datenpunkt zugewiesen sein.
        
        //Grundeinstellungen
        const logging = false; //Erweiterte Logs ausgeben?
        const praefix = "0_userdata.0.Lichtueberwachung."; //Grundpfad für Script DPs
        const ZeitBisNachricht = 300000 // 300000 ms = 5 Minuten
        const RepeatInfoMsg = true; // Legt fest ob Ansage einmalig oder zyklisch
        const InfoMsgAktiv = true; // Legt fest ob eine Infonachricht nach x Minuten ausgegeben werden soll
        const WelcheFunktionVerwenden = "actualLevel"; // Legt fest nach welchem Begriff in Funktionen gesucht wird.
        const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
        const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
        const AlexaId = ""; // Die Alexa Seriennummer
        const UseMail = false; //Nachricht via Mail versenden
        const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Authorenfunktion, sollte deaktiviert werden.
        const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Authorenfunktion, sollte deaktiviert werden.
        const AlsoMsgLightOnOff = false; //Soll auch das erstmalige einschalten, sowie das ausschalten gemeldet werden?
        const LightsOnListSeparator = "<br>"; //Trennzeichen für die Textausgabe der eingeschaltenen Lichter pro Raum
        const LightIsOnWhen = ["true", "ein", "on","100"]; // Hier können eigene States für ein angegeben werden, immer !!! in Kleinschreibung
        const LightIsOffWhen = ["false", "off", "0"]; // können eigene States für aus angegeben werden, immer !!! in Kleinschreibung
        
        //Einstellungen zur Tabellenausgabe
        const LightsOnImg = "/icons-mfd-svg/light_light_dim_100.svg"; //Icon eingeschaltenes Licht
        const LightOffImg = "/icons-mfd-svg/light_light.svg"; // Icon für ausgeschaltenes Licht
        const LightsOnColor = "red"; // Farbe für eingeschaltenes Licht
        const LightsOffColor = "green"; // Farbe für ausgeschaltenes Licht
        const HeadlessTable = false; // Tabelle mit oder ohne Kopf darstellen
        const TableDateFormat = "SS:mm:ss TT.MM.JJJJ"; //Zeit- & Datums- formatierung für Tabelle. Übersicht der Kürzel hier: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#formatdate
        
        //Ab hier nix mehr ändern!
        
        let LightOnCount = 0; // Gesamtzahl der eingeschaltenen Lichter
        const RoomLightsOnCount = []; // Array für eingeschaltene Lichter pro Raum
        let RoomsWithLightsOn = "";
        const LightsOnMsgHandler = []; // Objektarray für timeouts pro Raum
        const Sensor = []; //Sensoren als Array anlegen
        const SensorVal = [];//Sensorwerte als Array anlegen
        const SensorOldVal = []; //Alte Sensorwerte als Array ablegen
        const Laufzeit = []; //Timer Laufzeit pro Fenster
        const RoomList = []; // Raumlisten Array
        const RoomStateTimeStamp = [];
        let z = 0; //Zähler
        let DpCount = 0; //Zähler
        const States = []; // Array mit anzulegenden Datenpunkten
        let Funktionen = getEnums('functions');
        
        
        
        for (let x in Funktionen) {        // loop ueber alle Functions
            let Funktion = Funktionen[x].name;
            if (Funktion == undefined) {
                log("Keine Funktion gefunden");
            }
            else {
                if (typeof Funktion == 'object') Funktion = Funktion.de;
                let members = Funktionen[x].members;
                if (Funktion == WelcheFunktionVerwenden) { //Wenn Function ist Licht
                    for (let y in members) { // Loop über alle Licht Members
                        Sensor[y] = members[y];
                        let room = getObject(Sensor[y], 'rooms').enumNames[0];
                        if (typeof room == 'object') room = room.de;
                        //Datenpunkte pro Raum vorbereiten
                        States[DpCount] = { id: praefix + room + ".RoomLightsOnCount", initial: 0, forceCreation: false, common: { read: true, write: true, name: "Anzahl der eingeschaltenen Lichter im Raum", type: "number", def: 0 } };
                        DpCount++;
                        States[DpCount] = { id: praefix + room + ".IsOn", initial: false, forceCreation: false, common: { read: true, write: true, name: "Licht eingeschaltet?", type: "boolean", role: "state", def: false } }; //
                        DpCount++;
                        //log(Funktion + ': ' + room);
                        if (RoomList.indexOf(room) == -1) { //Raumliste ohne Raumduplikate erzeugen
                            RoomList[z] = room;
                            if (logging) log("Raum " + z + " = " + RoomList[z]);
                            z++;
                        };
                        RoomLightsOnCount[y] = 0; // Array mit 0 initialisieren
                        Laufzeit[y] = 0; // Array mit 0 initialisieren
                    };
                };
            };
        };
        
        //Struktur anlegen in js.0 um Sollwert und Summenergebniss zu speichern
        //Generische Datenpunkte vorbereiten 
        States[DpCount] = { id: praefix + "AllLightsOff", initial: true, forceCreation: false, common: { read: true, write: true, name: "Licht aus?", type: "boolean", role: "state", def: true } }; //
        DpCount++;
        States[DpCount] = { id: praefix + "LightsOn", initial: 0, forceCreation: false, common: { read: true, write: true, name: "Anzahl der eingeschaltenen Lichter", type: "number", def: 0 } };
        DpCount++;
        States[DpCount] = { id: praefix + "RoomsWithLightsOn", initial: "Lichter in allen Räumen ausgeschalten.", forceCreation: false, common: { read: true, write: true, name: "In welchen Räumen sind Lichter eingeschalten?", type: "string", def: "Lichter in allen Räumen ausgeschalten" } };
        DpCount++;
        States[DpCount] = { id: praefix + "OverviewTable", initial: "", forceCreation: false, common: { read: true, write: true, name: "Übersicht aller Räume und eingeschaltener Lichter", type: "string", def: "" } };
        
        //Alle States anlegen, Main aufrufen wenn fertig
        let numStates = States.length;
        States.forEach(function (state) {
            createState(state.id, state.initial, state.forceCreation, state.common, function () {
                numStates--;
                if (numStates === 0) {
                    if (logging) log("CreateStates fertig!");
                    main();
                };
            });
        });
        
        function main() {
            for (let x = 0; x < Sensor.length; x++) {
                //setTimeout(function () { // Timeout setzt refresh status wieder zurück
                SensorVal[x] = String(getState(Sensor[x]).val).toLowerCase(); // Wert von Sensor in Schleife einlesen
                SimplyfyLightStates(x);
                // }, x * 100);
            };
            CreateTrigger();
            CheckAllLights(); //Bei Scriptstart alle Lichter einlesen
            CreateOverviewTable()
        }
        
        function Meldung(msg) {
            if (UseSay) Say(msg);
            if (UseTelegram) {
                sendTo("telegram.0", "send", {
                    text: msg
                });
            };
            if (UseAlexa) {
                if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg);
            };
            if (UseMail) {
                sendTo("email", msg);
            };
            if (logging) log("Msg= " + msg);
        }
        
        function CreateOverviewTable() { //  Erzeugt tabellarische Übersicht als HTML Tabelle    
            //Tabellenüberschrift und Head
            let OverviewTable = "";
            if (!HeadlessTable) {
                OverviewTable = "<table style='width:100%; border-collapse: collapse; border: 0px solid black;'><caption><div style='height: 20px; padding-top: 0px; padding-bottom: 5px; font-size:1.4em; font-weight: bold;'>Lichterstatus</div></caption>";
                OverviewTable = OverviewTable + "<thead><tr><th width='100%' style='text-align:center; height: 20px; padding-bottom: 5px;'>" + RoomsWithLightsOn + "</th></tr></thead><tbody></tbody></table>";
            };
            //Tabelle der Raumdetails
            OverviewTable = OverviewTable + "<div style='height: 100%; overflow-y:auto; overflow-x:hidden;'><table style='width:100%; border-collapse: collapse;'>";
            OverviewTable = OverviewTable + "<thead><tr><th width='40px' style='text-align:left;'</th><th width='20px' style='text-align:center;'></th><th style='text-align:left;'></th></tr></thead><tbody>";
        
        
            for (let x = 0; x < RoomList.length; x++) { //Alle Räume durchgehen
                if (RoomLightsOnCount[x] > 0) { // Räume mit eingeschaltenen Lichtern
                    RoomStateTimeStamp[x] = formatDate(getDateObject(getState(praefix + RoomList[x] + ".IsOn").lc), TableDateFormat);
                    OverviewTable = OverviewTable + "<tr><td style='border: 1px solid black; background-color:" + LightsOnColor + ";'><img height=40px src='" + LightsOnImg + "'></td>"
                    OverviewTable = OverviewTable + "<td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:1.1em; font-weight: bold; text-align:center;background-color:" + LightsOnColor + ";'>" + RoomLightsOnCount[x] + "</td>"
                    OverviewTable = OverviewTable + "<td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:1.1em; font-weight: bold; background-color:" + LightsOnColor + ";'>" + RoomList[x] + "<br><div style='font-size:0.8em; font-weight:bold;'>eingeschaltet: " + RoomStateTimeStamp[x] + "</div></td></tr>"
                }
                else { // Ausgeschaltene Räume
                    RoomStateTimeStamp[x] = formatDate(getDateObject(getState(praefix + RoomList[x] + ".IsOn").lc), TableDateFormat);
                    OverviewTable = OverviewTable + "<tr><td style='border: 1px solid black; background-color:" + LightsOffColor + ";'><img height=40px src='" + LightOffImg + "'></td>"
                    OverviewTable = OverviewTable + "<td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:1.1em; font-weight: bold; text-align:center; background-color:" + LightsOffColor + ";'>" + RoomLightsOnCount[x] + "</td>"
                    OverviewTable = OverviewTable + "<td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:1.1em; font-weight: bold; background-color:" + LightsOffColor + ";'>" + RoomList[x] + "<br><div style='font-size:0.7em; font-weight:normal;'>ausgeschaltet: " + RoomStateTimeStamp[x] + "</div></td></tr>"
        
                };
            };
            OverviewTable = OverviewTable + "</tbody></table></div>";
            setState(praefix + "OverviewTable", OverviewTable);
            //log(OverviewTable);
        }
        
        function CreateRoomsWithLightsOnList() { //Erzeugt Textliste mit Räumen welche eingeschaltene Lichter haben
            RoomsWithLightsOn = ""; //Liste Initialisieren
            for (let x = 0; x < RoomList.length; x++) { //Alle Räume durchgehen
                if (RoomLightsOnCount[x] > 0) { // Nur Räume mit eingeschaltenen Lichtern berücksichtigen
                    if (RoomLightsOnCount[x] == 1) { //Wenn 1 Licht ein, Singular Schreibweise
                        RoomsWithLightsOn = RoomsWithLightsOn +"<img width=25px height=25px style= vertical-align:-5px src=img/bulb_on.png >"+ RoomList[x] + " "  + RoomLightsOnCount[x] + LightsOnListSeparator;
                    }
                    else { //ansonsten Plural Schreibweise
                        RoomsWithLightsOn = RoomsWithLightsOn +"<img width=25px height=25px style= vertical-align:-5px src=img/bulb_on.png >"+ RoomList[x] + " "  + RoomLightsOnCount[x] + LightsOnListSeparator;
                    };
                };
            };
            RoomsWithLightsOn = RoomsWithLightsOn.substr(0, RoomsWithLightsOn.length - LightsOnListSeparator.length); //letzten <br> Umbruch wieder entfernen
        
            if (RoomsWithLightsOn == "") {
                RoomsWithLightsOn = "<img width=25px height=25px style= vertical-align:-5px src=img/bulb_off.png >"+ "Alle Lichter ausgeschalten";
            };
            setState(praefix + "RoomsWithLightsOn", RoomsWithLightsOn);
            if (logging) log(RoomsWithLightsOn);
        }
        
        function GetRoom(x) { // Liefert den Raum von Sensor x
            if (logging) log("Reaching GetRoom x=" + x)
            let room = getObject(Sensor[x], 'rooms').enumNames[0];
            if (room == undefined) {
                log("Kein Raum definiert bei Sensor " + Sensor[x], 'error');
                return "Kein Raum definiert";
            };
            if (typeof room == 'object') room = room.de;
            return room;
        }
        
        function CheckLight(x) { //Für einzelnes Licht. Via Trigger angesteuert.
            let TempRoom = GetRoom(x); //Raum des aktuellen Sensors bestimmen
            let TempRoomIndex = RoomList.indexOf(TempRoom); // Raumlistenindex für aktuellen Raum bestimmen
            if (logging) log("reaching CheckLight, SensorVal[" + x + "]=" + SensorVal[x] + " SensorOldVal=" + SensorOldVal[x] + " TempRoom=" + TempRoom)
            if (SensorVal[x] == "on" && SensorOldVal[x] != "on") { //Licht war ausgeschalten und wurde eingeschalten
                LightOnCount++;
                RoomLightsOnCount[TempRoomIndex]++;
                if (logging) log("RoomLightsOnCount für " + TempRoom + "=" + RoomLightsOnCount[TempRoomIndex]);
                setState(praefix + "AllLightsOff", false);
                setState(praefix + TempRoom + ".IsOn", true);
                setState(praefix + "LightsOn", LightOnCount);
                setState(praefix + TempRoom + ".RoomLightsOnCount", RoomLightsOnCount[TempRoomIndex]);
        
                if (logging) log(TempRoom + " Licht eingeschalten");
                if (AlsoMsgLightOnOff) Meldung(TempRoom + " Licht eingeschaltet!");
                if (UseEventLog == true) WriteEventLog(TempRoom + " Licht eingeschaltet!");
                if (RoomLightsOnCount[TempRoomIndex] == 1) {
                    Laufzeit[TempRoomIndex] = 0;
                    if (InfoMsgAktiv == true) {
                        if (RepeatInfoMsg == true) { // Wenn Intervallmeldung eingestellt Interval starten und Dauer bei Ansage aufaddieren
                            if (logging) log("Setting Interval to Room:" + TempRoom);
        
                            LightsOnMsgHandler[TempRoomIndex] = setInterval(function () {
                                Laufzeit[TempRoomIndex] = Laufzeit[TempRoomIndex] + ZeitBisNachricht;
                                Meldung(TempRoom + "licht seit " + (Laufzeit[TempRoomIndex] / 1000 / 60).toFixed(1) + " Minuten eingeschalten!");
                            }, ZeitBisNachricht);
                        }
                        else { // Wenn einmalige Meldung eingestellt
                            if (logging) log("Setting Timeout to Room:" + TempRoom);
        
                            LightsOnMsgHandler[TempRoomIndex] = setTimeout(function () {
                                Meldung(TempRoom + "licht seit " + (ZeitBisNachricht / 1000 / 60).toFixed(1) + " Minuten eingeschalten!");
                            }, ZeitBisNachricht);
                        };
                    };
                };
            }
            else if (SensorVal[x] == "off") {
                if (LightOnCount > 0) LightOnCount--;
                if (RoomLightsOnCount[TempRoomIndex] > 0) RoomLightsOnCount[TempRoomIndex]--;
        
                setState(praefix + "LightsOn", LightOnCount);
                setState(praefix + TempRoom + ".RoomLightsOnCount", RoomLightsOnCount[TempRoomIndex]);
        
                log(TempRoom + " Licht ausgeschalten.");
                if (AlsoMsgLightOnOff) Meldung(TempRoom + " Licht ausgeschaltet!");
                if (UseEventLog == true) WriteEventLog(TempRoom + " Licht ausgeschaltet!");
                if (RoomLightsOnCount[TempRoomIndex] == 0) {
                    setState(praefix + TempRoom + ".IsOn", false);
        
                    if (RepeatInfoMsg == true) {
                        if (logging) log("reaching clearInterval - [x] = " + [x] + " TempRoomIndex= " + TempRoomIndex);
                        clearInterval(LightsOnMsgHandler[TempRoomIndex]);
                    }
                    else {
                        if (logging) log("reaching clearTimeout");
                        clearTimeout(LightsOnMsgHandler[TempRoomIndex]);
                    };
                };
        
                if (LightOnCount == 0) { //Wenn kein Licht mehr eingeschalten
                    setState(praefix + "AllLightsOff", true);
                    setState(praefix + TempRoom + ".IsOn", false);
                    log("Alle Lichter ausgeschalten.");
                };
            };
            if (logging) log("Eingeschaltene Lichter gesamt= " + LightOnCount);
            CreateRoomsWithLightsOnList();
            CreateOverviewTable();
        }
        
        function CheckAllLights() { //Prüft bei Programmstart alle Lichter
            for (let x = 0; x < Sensor.length; x++) { //Alle Sensoren durchlaufen
                let TempRoom = GetRoom(x);
                let TempRoomIndex = RoomList.indexOf(TempRoom);
                if (SensorVal[x] == "on") { //Licht ist eingeschalten
                    LightOnCount = LightOnCount + 1;
                    RoomLightsOnCount[TempRoomIndex] = RoomLightsOnCount[TempRoomIndex] + 1;
                    if (logging) log("Temproom= " + TempRoom + " TempRoomIndex= " + RoomList.indexOf(TempRoom) + "  RoomLightsOnCount= " + RoomLightsOnCount[TempRoomIndex]);
        
                    setState(praefix + "AllLightsOff", false);
                    setState(praefix + "LightsOn", LightOnCount);
        
                    setState(praefix + TempRoom + ".IsOn", true);
                    setState(praefix + TempRoom + ".RoomLightsOnCount", RoomLightsOnCount[TempRoomIndex]);
                    if (InfoMsgAktiv == true && RoomLightsOnCount[RoomList.indexOf(TempRoom)] == 1) {
                        if (RepeatInfoMsg == true) { // Wenn Intervallmeldung eingestellt Interval starten und Dauer bei Ansage aufaddieren
                            if (logging) log("Setting Interval at initialization to Room: " + TempRoom);
                            LightsOnMsgHandler[TempRoomIndex] = setInterval(function () {
                                Laufzeit[TempRoomIndex] = Laufzeit[TempRoomIndex] + ZeitBisNachricht;
                                Meldung(TempRoom + "licht seit " + Laufzeit[TempRoomIndex] / 1000 / 60 + " Minuten eingeschalten!");
                            }, ZeitBisNachricht);
                        }
                        else {
                            if (logging) log("Setting Timeout at initialization to Room: " + TempRoom);
        
                            LightsOnMsgHandler[TempRoomIndex] = setTimeout(function () { // Wenn einmalige Meldung eingestellt
                                Meldung(TempRoom + "licht seit " + ZeitBisNachricht / 1000 / 60 + " Minuten eingeschalten!");
                            }, ZeitBisNachricht);
                        };
                    };
                    if (logging) log(TempRoom + " Licht = eingeschalten");
                }
                else if (SensorVal[x] == "off") {
                    //RoomLightsOnCount[TempRoomIndex] = getState(praefix + TempRoom + ".RoomLightsOnCount").val - 1;
                    RoomLightsOnCount[TempRoomIndex]--;
                    if (RoomLightsOnCount[TempRoomIndex] < 0) RoomLightsOnCount[TempRoomIndex] = 0;
                    setState(praefix + TempRoom + ".IsOn", false);
                    setState(praefix + TempRoom + ".RoomLightsOnCount", RoomLightsOnCount[TempRoomIndex]);
                    //log(TempRoom + " Fenster = geschlossen.");
                };
            };
            if (LightOnCount == 0) {
                setState(praefix + "AllLightsOff", true);
                setState(praefix + "LightsOn", LightOnCount);
        
                log("Alle Lichter ausgeschalten.");
            };
            CreateRoomsWithLightsOnList();
        }
        
        function SimplyfyLightStates(x) { //Die verschiedenen Gerätestates zu on oder off vereinfachen
            //log("Sensor "+Sensor[x]+" mit Wert "+ SensorVal[x]+ " hat Typ " + typeof(SensorVal[x] ));
            if (LightIsOnWhen.indexOf(SensorVal[x]) != -1) { // Suche in Lichtereinnarray, wenn gefunden, Status auf on setzen
                SensorVal[x] = "on";
            }
            else if (LightIsOffWhen.indexOf(SensorVal[x]) != -1) { // Suche in Lichterausarray, wenn gefunden, Status auf off setzen
                SensorVal[x] = "off";
            };
        
            if (SensorVal[x] != "on" && SensorVal[x] != "off") { // Suche in Lichtereinarray und Lichterausarray, wenn nirgends gefunden, Status auf closed setzen und Logwarnung ausgeben
                log("Unknown Lightstate " + SensorVal[x] + " detected at " + Sensor[x] + ", please check your configuration", "warn");
                SensorVal[x] = "unknown";
            };
        
            if (LightIsOnWhen.indexOf(SensorOldVal[x]) != -1) {
                SensorOldVal[x] = "on";
            }
            else if (LightIsOffWhen.indexOf(SensorOldVal[x]) != -1) {
                SensorOldVal[x] = "off";
            };
        }
        
        function CreateTrigger() {
            //Trigger für Sensoren erzeugen
            for (let x = 0; x < Sensor.length; x++) { //Alle Sensoren durchlaufen
                on(Sensor[x], function (dp) { //Trigger in Schleife erstellen
                    if (logging) log("Trigger= " + x + " Wert= " + dp.state.val + " Alter Wert= " + dp.oldState.val);
                    if (dp.channelId.search(praefix) == -1) { //Ausschliessen dass das Scriptverzeichnis zum Triggern verwendet wird
                        SensorVal[x] = String(dp.state.val).toLowerCase(); // Alles in String und Kleinschreibweise wandeln
                        SensorOldVal[x] = String(dp.oldState.val).toLowerCase(); // Alles in String und Kleinschreibweise wandeln
                        SimplyfyLightStates(x);
                        CheckLight(x);
                    }
                    else {
                        log("Fehler, Datenpunkt im Scriptverzeichnis als Trigger definiert", "error");
                    };
                });
            };
        
            onStop(function () { //Bei Scriptende alle Timer löschen
                for (let x = 1; x < Sensor.length; x++) {
                    if (RoomLightsOnCount[x] == 0) {
                        if (RepeatInfoMsg == true) {
                            clearInterval(LightsOnMsgHandler[x]);
                        }
                        else {
                            clearTimeout(LightsOnMsgHandler[x]);
                        };
                    };
        
                };
            }, 100);
        }
        
        

        edit:
        Ich denke mir gerade ich sollte es für Jarvis irgendwie anders angehen.
        Dafür ist das Script vermutlich ein bisschen zu viel des guten. Bei Vis habe ich mir daraus folgendes gebastelt.

        licht4.PNG

        licht5.PNG

        Da brauche ich keinen HTMLTable.

        M Online
        M Online
        MCU
        schrieb am zuletzt editiert von MCU
        #425

        @marsmännchen In dem Script gibt es 2x table
        a119f158-35f9-40c9-9268-d6ca5ee9773d-image.png

        const HeadlessTable = false;
        

        Setze mal den Wert auf true.

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        1 Antwort Letzte Antwort
        1
        • Marc_el_KM Marc_el_K

          Hallo,

          ich habe ein IFrame eingebunden mit einer Kamera und das Bild aktualisiert sich regelmäßig ist aber leider zu groß für das Widget. Kann mir jemand verraten, wie man das Image auf 100% Widgetbreite bekommt, damit es auf jedem Endgerät automatisch angepasst wird?

          Dankeschön :-)

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von
          #426

          @marc_el_k Zeig mal die Einstellungen zum Widget.

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          M Marc_el_KM 2 Antworten Letzte Antwort
          0
          • M MCU

            @marc_el_k Zeig mal die Einstellungen zum Widget.

            M Offline
            M Offline
            marsmännchen
            schrieb am zuletzt editiert von
            #427

            @mcu
            Danke, zumindest zeigt es jetzt irgendwas an.
            licht7.PNG

            Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
            Wago PFC200 mit Dali Lichtsteuerung.

            M 1 Antwort Letzte Antwort
            0
            • M MCU

              @marc_el_k Zeig mal die Einstellungen zum Widget.

              Marc_el_KM Offline
              Marc_el_KM Offline
              Marc_el_K
              schrieb am zuletzt editiert von
              #428

              @mcu sagte in jarvis v3.1.x - just another remarkable vis:

              @marc_el_k Zeig mal die Einstellungen zum Widget.

              so sieht es bei mir aus
              widget.jpg

              M 1 Antwort Letzte Antwort
              0
              • Dominik F.D Offline
                Dominik F.D Offline
                Dominik F.
                schrieb am zuletzt editiert von
                #429

                @marsmännchen

                Ich nutze ein Skript vom ursprünglichen Verfasser wo die Tabelle ähnlich erstellt wurde.
                Bei mir funktioniert das in einer Statelist wie oben beschrieben in einem Popup.

                Unbenannt.JPG

                M 1 Antwort Letzte Antwort
                0
                • Marc_el_KM Marc_el_K

                  @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                  @marc_el_k Zeig mal die Einstellungen zum Widget.

                  so sieht es bei mir aus
                  widget.jpg

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von
                  #430

                  @marc_el_k Nutze mal displayImage.
                  https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/module/displayimage

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  Marc_el_KM 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @marc_el_k Nutze mal displayImage.
                    https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/module/displayimage

                    Marc_el_KM Offline
                    Marc_el_KM Offline
                    Marc_el_K
                    schrieb am zuletzt editiert von
                    #431

                    @mcu Danke, geht perfekt

                    1 Antwort Letzte Antwort
                    0
                    • M marsmännchen

                      @mcu
                      Danke, zumindest zeigt es jetzt irgendwas an.
                      licht7.PNG

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von
                      #432

                      @marsmännchen Welche Adapter schalten bei dir die Lichter mit false/true. Sind dort bei den Schaltern in der Funktion light zugeordnet?

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      M 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @marsmännchen Welche Adapter schalten bei dir die Lichter mit false/true. Sind dort bei den Schaltern in der Funktion light zugeordnet?

                        M Offline
                        M Offline
                        marsmännchen
                        schrieb am zuletzt editiert von
                        #433

                        @mcu
                        Die Frage verstehe ich nicht ganz.
                        Ich toggle die Lichter mit einer Visu (true/false) und bekomme vom Modbus Adapter dann die Rückmeldung in form von 0-100.
                        Oder ich drücke auf den örtlichen Taster.
                        Das ganze läuft über eine Wago PFC200 mit Dali.

                        Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                        Wago PFC200 mit Dali Lichtsteuerung.

                        M 1 Antwort Letzte Antwort
                        0
                        • M marsmännchen

                          @mcu
                          Die Frage verstehe ich nicht ganz.
                          Ich toggle die Lichter mit einer Visu (true/false) und bekomme vom Modbus Adapter dann die Rückmeldung in form von 0-100.
                          Oder ich drücke auf den örtlichen Taster.
                          Das ganze läuft über eine Wago PFC200 mit Dali.

                          M Online
                          M Online
                          MCU
                          schrieb am zuletzt editiert von MCU
                          #434

                          @marsmännchen In ioBroker gibt es doch zu jeder Lampe / Licht ein DP, der auf true geht, wenn du das Licht einschaltest? Oder nur bei Modbus 100?
                          Du togglest ja den DP x . So bei diesem DP x kann man jetzt eine Funktion hinterlegen:
                          1bfb5ee7-41ff-4f54-bafe-52e39c805fe0-image.png
                          Hat man das bei allen Lichtern gemacht, kann man sehr leicht feststellen, welche Lichter noch an sind.

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          M 1 Antwort Letzte Antwort
                          0
                          • M MCU

                            @marsmännchen In ioBroker gibt es doch zu jeder Lampe / Licht ein DP, der auf true geht, wenn du das Licht einschaltest? Oder nur bei Modbus 100?
                            Du togglest ja den DP x . So bei diesem DP x kann man jetzt eine Funktion hinterlegen:
                            1bfb5ee7-41ff-4f54-bafe-52e39c805fe0-image.png
                            Hat man das bei allen Lichtern gemacht, kann man sehr leicht feststellen, welche Lichter noch an sind.

                            M Offline
                            M Offline
                            marsmännchen
                            schrieb am zuletzt editiert von
                            #435

                            @mcu
                            Überall wo 100 steht brennt Licht.
                            und das muss ich umformen in true/false damit ich das: https://forum.iobroker.net/topic/40424/alexa-ansagen-i-telegram-i-email-i-alias-i-visu-i-html
                            verwenden kann.
                            Daran arbeite ich jetzt. Um es dann mit Jarvis darstellen zu können.
                            Aber mit meinem derzeitigen Fortschritt will ich den Jarvis-Thread nicht verseuchen.
                            modb1.PNG

                            Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                            Wago PFC200 mit Dali Lichtsteuerung.

                            M 1 Antwort Letzte Antwort
                            0
                            • M marsmännchen

                              @mcu
                              Überall wo 100 steht brennt Licht.
                              und das muss ich umformen in true/false damit ich das: https://forum.iobroker.net/topic/40424/alexa-ansagen-i-telegram-i-email-i-alias-i-visu-i-html
                              verwenden kann.
                              Daran arbeite ich jetzt. Um es dann mit Jarvis darstellen zu können.
                              Aber mit meinem derzeitigen Fortschritt will ich den Jarvis-Thread nicht verseuchen.
                              modb1.PNG

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von
                              #436

                              @marsmännchen Gibt es nur die 14 Lichter?

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              M 1 Antwort Letzte Antwort
                              0
                              • M Online
                                M Online
                                MCU
                                schrieb am zuletzt editiert von MCU
                                #437

                                @sigi234 Kannst du mal die neueste Version der Android-App testen? Es geht um Android 9??
                                v3.1.3-beta.19
                                43b64f34-0ea4-4612-b557-6654fc013f19-image.png
                                https://github.com/Zefau/ioBroker.jarvis/releases

                                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                sigi234S 1 Antwort Letzte Antwort
                                0
                                • M MCU

                                  @sigi234 Kannst du mal die neueste Version der Android-App testen? Es geht um Android 9??
                                  v3.1.3-beta.19
                                  43b64f34-0ea4-4612-b557-6654fc013f19-image.png
                                  https://github.com/Zefau/ioBroker.jarvis/releases

                                  sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #438

                                  @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                                  Kannst du mal die neueste Version der Android-App testen? Es geht um Android 9??

                                  Gibt schon die 20?

                                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Immer Daten sichern!

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • sigi234S sigi234

                                    @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                                    Kannst du mal die neueste Version der Android-App testen? Es geht um Android 9??

                                    Gibt schon die 20?

                                    M Online
                                    M Online
                                    MCU
                                    schrieb am zuletzt editiert von MCU
                                    #439

                                    @sigi234 Ja als App. War ein Versuch für meine Android-Version 9, passte aber nicht. Geht es bei Dir?

                                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                    sigi234S 1 Antwort Letzte Antwort
                                    0
                                    • M MCU

                                      @sigi234 Ja als App. War ein Versuch für meine Android-Version 9, passte aber nicht. Geht es bei Dir?

                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von sigi234
                                      #440

                                      @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                                      @sigi234 Ja als App. War ein Versuch für meine Android-Version 9, passte aber nicht. Geht es bei Dir?

                                      Nein, weißer Screen

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                                        @sigi234 Ja als App. War ein Versuch für meine Android-Version 9, passte aber nicht. Geht es bei Dir?

                                        Nein, weißer Screen

                                        M Online
                                        M Online
                                        MCU
                                        schrieb am zuletzt editiert von
                                        #441

                                        @sigi234 War bei mir auch so. Danke.

                                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                        1 Antwort Letzte Antwort
                                        0
                                        • ZefauZ Zefau

                                          jarvis - just another remarkable vis

                                          Besonderes Dank an @MCU, @RkcCorian und die vielen Tester, die die alpha unermüdlich auf Bugs getestet haben.

                                          :question: Was ist jarvis? // Warum jarvis?

                                          siehe https://forum.iobroker.net/post/711191

                                          :exclamation: v3.0.x vs. v3.1.x: Was ist zu beachten?

                                          Es gibt strukturelle Änderungen im Datenpunkt jarvis.X.widgets. Hier erfolgt eine Konvertierung beim Upgrade zu v3.1. Mit der Version v3.0.15 ist diese Änderungen auch rückwärtskompatibel, so dass einfach zwischen den Versionen gewechselt werden kann.

                                          :star2: v3.0.x vs. v3.1x: Was ist neu?

                                          siehe https://github.com/users/Zefau/projects/2/views/15

                                          Highlights :exclamation:

                                          • (pro) Eigene Skripte laden / ausführen (#492), dadurch auch Nutzung von jQuery bzw. anderen Frameworks (#1805)
                                          • (pro) Laden externer CSS-Dateien (Import für CSS) (#1728)
                                          • (pro) Bindings: Für Seiten und Tabs (#1352)
                                          • (pro) Bindings: Erweitert auf Feld (Body Stil, Icon Stil, usw) und Ergebnis (#1021)
                                          • (pro) Bindings: selected TAB Stil definieren (#1733)
                                          • (pro) Auswahlwert mit Funktionen (#1018)
                                          • (pro) Log in / Authentication (#662)
                                          • (pro) Secure configuration / settings via password or pin (#166)
                                          • Widget Mobile Sortierung angeben (#571)
                                          • Modul ScriptStatus (neu): Überblick über alle Skripte von ioBroker.javascript inkl. starten / stoppen (#38)
                                          • Modul AdapterLog (neu): Überblick über das ioBroker Log (#37)
                                          • Modul Map: Standort-Verfolgung von Geräten (#1784)
                                          • Modul JsonTable: JSON-Objekte anzeigbar machen (#1829)
                                          • (pro) Modul HistoryGraph: Series-Einstellungen einstellbar (#1377)
                                          • (pro) Modul HistoryGraph: formatter Callback der yAchse(n) / xAchse konfigurierbar (#1459)
                                          • (pro) Modul HistoryGraph: min/max Callback der xAchse konfigurierbar (#2050)
                                          • Pro-Bezahlung per Überweisung (ohne PayPal) (#1900)

                                          Weitere Features

                                          • Modul iFrame: Interaktion verhindern (#1880)
                                          • Modul iFrame: Erweiterung Sandbox-Optionen (#1679)
                                          • Modul HomeKitTile: Geräte Icon als Icon verwenden (#1418)
                                          • Modul DisplayImage: Bild auf Basis eines Datenpunkts ein- / ausblenden (#1409)
                                          • Modul DateTime: Trennung von Datum- und Zeitangabe (zum dediziertem Styling) (#1724 / #1242)
                                          • Modul DateTime: Zeit wird serverzeitig (aus ioBroker) geladen und nicht client-seitig (#1951)
                                          • Widget per Button als Vollbild darstellen (#589)
                                          • Widget-Vollbild auch durch Doppelklick (#1732)
                                          • Untermenü auf mobiler Seite (#1348)
                                          • Sprung ins Layout direkt zur aktuellen Seite (via F9) (#1059)

                                          Komponenten

                                          • TimePickerBody/Action sowie DatePickerBody/Action (Zeitsteuerung & Timer) (#569)
                                          • ButtonGroup: mehrere Buttons nebeneinander (#871 / #572)
                                          • setOn / setOff als Callback (#1926), siehe Wiki
                                          • SaturationSliderBody / WhiteSliderBody (neu) (#1448)
                                          • LightHueAction / LightColorAction (ColorPicker) (#602)
                                          • SecondaryStates: Labels ein-/ausblenden (#690)
                                          • SecondaryStates: Farbgestaltung an-/ausschalten (#723)
                                          • BlindLevelAction: Auch für elektrische Fenster (#1583)
                                          • SwitchAction: Acknowledge flag (#647)
                                          • Impulsdauer Taster konfigurierbar (#1893)
                                          • LightColorState; Wählbares Icon mit der State-Farbe anzeigen (#1848)
                                          • LightHueBody: Max-HUE einstellbar machen (#1425)

                                          Einstellungen

                                          • Hamburger Menü für Seiten Navigation bei nur einer vorhandenen Seite ausblenden (#1624)
                                          • Hide Scrollbar (#287)
                                          • Option to disable Swipe (#1274)
                                          • regelmäßiger Reload konfigurierbar (#1952)

                                          Design

                                          • provide selected colours as CSS variable (#1406)
                                          • Geräte-Popup mit zusätzlicher Klasse (#1639)
                                          • HistoryGraph / Chart: Nutzung von CSS-Variablen für Farben (#1313)
                                          • HistoryGraph: zusätzliche CSS-Selektor-Klassen (#1522)

                                          AdapterImport

                                          • Import Silvercrest Branded HMIP Window Contacts (#1822)
                                          • Fehlende/unvollständige HM-IP Geräte (#1613)
                                          • Import / adapt devices and layout from ioBroker.zigbee2mqtt (#2033)
                                          • Neues HomematicIP Thermostat HmIP-eTRV-C-2 (#1957)
                                          • Homematic IP Geräte - HmIP-FSM16 - HmIP-PDT (#1683)
                                          • Asksin++ Homebrew Geräte (#1612)
                                          • Homematic IP Wired (#1746)
                                          • Sollten euch noch Geräte fehlen, bitte ein Issue auf GitHub öffnen (via https://github.com/Zefau/ioBroker.jarvis/issues)

                                          Sonstiges

                                          • Adapter Info in ioBroker - Link zum Wiki (#1620)
                                          • Upgrade to Vue 3 (#1214)
                                          • Refactor and Performance Improvements (#1655)
                                          • Prüfung verwendeter IDs auf Duplikate (#1366)

                                          :speaking_head_in_silhouette: jarvis übersetzen / translate jarvis

                                          Gibt es jemanden, der eine andere Sprache nativ als Muttersprache spricht und Lust hat, jarvis zu übersetzen?

                                          Siehe https://github.com/Zefau/jarvis.i18n

                                          __

                                          Anyone who speaks another language fluently / mother tongue and likes to translate jarvis?

                                          See https://github.com/Zefau/jarvis.i18n

                                          :heartpulse: v3: Unterstützung durch Pro-Account

                                          Die v3 führt einen Pro-Account ein, mit der diverse Pro-Features genutzt werden können. Ab v3 ist jarvis damit Freemium, was bedeutet, dass jarvis grundsätzlich in vielen Belangen kostenlos ist (und bleibt), ihr aber das Projekt unterstützen könnt und dann einen gewissen erweiterten Umfang habt. Eine Auflistung von Pro-Features gibt es via Github-Issues. Außerdem gibt es eine Diskussion zum Thema Pro-Account inkl. Feature-Auflistung.

                                          Das Abonnement kann in den jarvis Einstellungen via PayPal gekauft werden, ist jederzeit kündbar und läuft bei Kündigung bis zum bezahlten Ende fort (also mindestens 1 Jahr). Sofern es Schwierigkeiten gibt, meldet euch gerne bei mir via ioBroker.jarvis@mailbox.org.

                                          :exclamation: Nach dem Kauf bitte die Lizenz in den Datenpunkt jarvis.0.info.pro kopieren, sofern dies automatisch nicht geklappt haben sollte.

                                          Bitte versteht die eingeführte Möglichkeit des Abonnements nicht nur als reine Bezahlung, sondern auch als Unterstützung zur Weiterentwicklung des Adapters. Vielen Dank für euren Support!

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von sigi234
                                          #442

                                          @zefau
                                          @MCU

                                          Hallo,

                                          habe die v3.1.3-beta.20 installiert. Es werden keine Änderungen übernommen?
                                          Wie komme ich wieder auf die Beta 19 ?

                                          jarvis.0
                                          2023-02-06 18:08:57.896	info	Client with IP 127.0.0.1 disconnected.
                                          
                                          jarvis.0
                                          2023-02-06 18:08:05.608	info	Client with IP 127.0.0.1 connected.
                                          
                                          jarvis.0
                                          2023-02-06 18:08:04.055	info	Client with IP 127.0.0.1 disconnected.
                                          
                                          jarvis.0
                                          2023-02-06 18:04:44.513	warn	Warning handling message: Cannot read properties of null (reading '_jarvis') (see debug-log for details)
                                          
                                          jarvis.0
                                          2023-02-06 17:59:44.423	warn	Warning handling message: Cannot read properties of null (reading '_jarvis') (see debug-log for details)
                                          
                                          jarvis.0
                                          2023-02-06 17:57:18.919	warn	Warning handling message: Cannot read properties of null (reading '_jarvis') (see debug-log for details)
                                          
                                          jarvis.0
                                          2023-02-06 17:56:29.061	warn	Warning handling message: Cannot read properties of null (reading '_jarvis') (see debug-log for details)
                                          
                                          jarvis.0
                                          2023-02-06 17:56:02.345	info	Client with IP 127.0.0.1 connected.
                                          
                                          jarvis.0
                                          2023-02-06 17:56:00.729	info	Client with IP 127.0.0.1 disconnected.
                                          
                                          jarvis.0
                                          2023-02-06 17:55:55.347	warn	Warning handling message: Cannot read properties of null (reading '_jarvis') (see debug-log for details)
                                          

                                          Animation9.gif

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          816

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe