Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

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

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

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

Sonoff NSPanel

Geplant Angeheftet Gesperrt Verschoben Hardware
1.5k Beiträge 78 Kommentatoren 637.0k Aufrufe 80 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.
  • ArmilarA Armilar

    @frank-marschel sagte in Sonoff NSPanel:

    @armilar ```
    var Icons = new IconsSelector();
    var timeoutSlider: any;
    const NSPanel_Path = "0_userdata.0.NSPanel.1."
    const Debug = false;
    var manually_Update = true;

    //const Off: RGB = { red: 68, green: 115, blue: 158 }; //Blau-Off
    const Off: RGB = { red: 253, green: 128, blue: 0 }; //Orange-Off - schönere Farbübergänge
    const On: RGB = { red: 253, green: 216, blue: 53 };
    const MSRed: RGB = { red: 251, green: 105, blue: 98 };
    const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
    const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
    const Red: RGB = { red: 255, green: 0, blue: 0 };
    const White: RGB = { red: 255, green: 255, blue: 255 };
    const Yellow: RGB = { red: 255, green: 255, blue: 0 };
    const Green: RGB = { red: 0, green: 255, blue: 0 };
    const Blue: RGB = { red: 0, green: 0, blue: 255 };
    const Gray: RGB = { red: 136, green: 136, blue: 136 };
    const Black: RGB = { red: 0, green: 0, blue: 0 };
    const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
    const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
    const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
    const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
    const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };

    //----------------------Begin Dimmode
    //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0")
    if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
    createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
    createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
    createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
    createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
    }
    var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
    var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
    var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
    if (vTimeDay < 10) {
    var TimeDay = "0" + vTimeDay.toString() + ":00";
    } else {
    var TimeDay = vTimeDay.toString() + ":00";
    }
    var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
    if (vTimeNight < 10) {
    var TimeNight = "0" + vTimeNight.toString() + ":00";
    } else {
    var TimeNight = vTimeNight.toString() + ":00";
    }
    var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
    //--------------------End Dimmode

    //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
    var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...

    //Alexa-Instanz
    var alexaInstanz = "alexa2.0"
    var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)

    // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
    // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
    //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
    const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];

    //Datenpunkte für Nachricht an Screensaver
    var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
    var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
    createState(screensaverNotifyHeading, {type: 'string'});
    createState(screensaverNotifyText, {type: 'string'});

    //Datenpunkte für Nachricht popupNotify Page
    var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
    var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
    var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
    var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
    var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
    var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
    var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
    createState(popupNotifyHeading, {type: 'string'});
    createState(popupNotifyText, {type: 'string'});
    createState(popupNotifyInternalName, {type: 'string'});
    createState(popupNotifyButton1Text, {type: 'string'});
    createState(popupNotifyButton2Text, {type: 'string'});
    createState(popupNotifySleepTimeout, {type: 'number'});
    createState(popupNotifyAction, {type: 'boolean'});

    var Test_Licht: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Color Aliase",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
    //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
    ]
    };

    var Test_Funktionen: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Sonstige Aliase",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /if mute=true/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
    <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
    <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
    <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
    ]
    };

    var Buero_Seite_1: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Büro",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
    //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
    ]
    };

    var Fenster_1: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Fenster und Türen",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
    <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
    <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
    <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
    ]
    };

    var Button_1: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Button Aliase",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
    ]
    };

    var Subpages_1: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Test Subpages",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
    <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
    ]
    };

    //Subpage 1 von Subpages_1
    var Abfall: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Abfallkalender",
    "useColor": true,
    "subPage": true,
    "parent": Subpages_1,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
    <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
    <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
    <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
    ]
    };

    var Buero_Seite_2: PageGrid =
    {
    "type": "cardGrid",
    "heading": "Büro 2",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
    <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
    <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
    <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
    <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
    ]
    };

    var Alexa: PageMedia =
    {
    "type": "cardMedia",
    "heading": "Alexa",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
    };

    var Buero_Themostat: PageThermo =
    {
    "type": "cardThermo",
    "heading": "Test Thermostat",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Thermostat_Büro", minValue: 50, maxValue: 300 }]
    };

    var Buero_Klimaanlage: PageThermo =
    {
    "type": "cardThermo",
    "heading": "Test Klimaanlage",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
    };

    //Subpage 2 von Subpages_1
    var WLAN: PageQR =
    {
    "type": "cardQR",
    "heading": "Gäste WLAN",
    "useColor": true,
    "subPage": true,
    "parent": Subpages_1,
    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
    };

    var Buero_Alarm: PageAlarm =
    {
    "type": "cardAlarm",
    "heading": "Alarm",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
    };

    var button1Page: PageGrid =
    {
    "type": "cardGrid",
    "heading": "Radio",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
    <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
    ]
    };

    var button2Page: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Büro",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
    <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
    ]
    };

    //Subpages 2 (+ Info)
    var Service: PageEntities =
    {
    "type": "cardEntities",
    "heading": "NSPanel Service",
    "useColor": true,
    "subPage": false,
    "parent": undefined,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
    <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
    <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
    <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
    ]
    };

    //Subpage 1 von Subpages_2
    var NSPanel_Infos: PageEntities =
    {
    "type": "cardEntities",
    "heading": "NSPanel Infos",
    "useColor": true,
    "subPage": true,
    "parent": Service,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
    ]
    };

    //Subpage 2 von Subpages_2
    var NSPanel_Einstellungen: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Screensaver",
    "useColor": true,
    "subPage": true,
    "parent": Service,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
    <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
    <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
    <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
    ]
    };

    //Subpage 3 von Subpages_2
    var NSPanel_Firmware_Updates: PageEntities =
    {
    "type": "cardEntities",
    "heading": "Firmware-Updates",
    "useColor": true,
    "subPage": true,
    "parent": Service,
    "items": [
    <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
    <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
    ]
    };

    export const config: Config = {
    panelRecvTopic: "mqtt.0.oben.nspaneltest.tele.RESULT", //anpassen
    panelSendTopic: "mqtt.0.oben.nspaneltest.cmnd.CustomSend", //anpassen
    firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
    secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
    thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
    fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
    timeoutScreensaver: 15,
    dimmode: 8,
    active: 100, //Standard-Brightness TFT
    screenSaverDoubleClick: false,
    locale: "de-DE", //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
    timeFormat: "%H:%M", //currently not used
    dateFormat: "%A, %d. %B %Y", //currently not used
    weatherEntity: "alias.0.Wetter",
    defaultOffColor: Off,
    defaultOnColor: On,
    defaultColor: Off,
    temperatureUnit: "°C",
    pages: [
    Buero_Seite_2,
    Buero_Seite_1,
    Buero_Klimaanlage,
    Button_1,
    Test_Licht,
    Test_Funktionen,
    Fenster_1,
    Subpages_1,
    Alexa,
    Buero_Themostat,
    Buero_Alarm,
    Service
    ],
    subPages: [
    Abfall,
    WLAN,
    NSPanel_Infos,
    NSPanel_Einstellungen,
    NSPanel_Firmware_Updates
    ],
    button1Page: button1Page,
    button2Page: button2Page
    };
    t

    Sieht eigentlich gut aus. Bin zwar unterwegs, daher grad etwas eingeschränkt.

    Hast du einen alias.0.Wetter erstellt? Der ist für das große Icon. Mir fällt soeben ein, dass es ohne den keine kleinen Icons gibt. Kannst du mit dem Gerätemanager erstellen, falls noch nich geschehen. Falls bereits erstellt, diesen (Screenshot Alias Objekte) auch kurz senden. Ist der Alias Typ Wettervorhersage

    F Offline
    F Offline
    Frank Marschel
    schrieb am zuletzt editiert von
    #1072

    @armilar Ja, das ist es gewesen.

    Auf den Büroseiten, die Buttons, werden wahrscheinlich auch erst angezeigt,
    wenn Datenpunkte vorhanden, oder?

    ArmilarA 1 Antwort Letzte Antwort
    0
    • F Frank Marschel

      @armilar Ja, das ist es gewesen.

      Auf den Büroseiten, die Buttons, werden wahrscheinlich auch erst angezeigt,
      wenn Datenpunkte vorhanden, oder?

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von Armilar
      #1073

      @frank-marschel sagte in Sonoff NSPanel:

      @armilar Ja, das ist es gewesen.

      Auf den Büroseiten, die Buttons, werden wahrscheinlich auch erst angezeigt,
      wenn Datenpunkte vorhanden, oder?

      Der Seitenaufbau soll nur als Beispiel dienen und kann nach eigener Kreativität komplett anders aufgebaut werden. Die Reihenfolgen lassen sich beliebig verändern, genauso wie die komplette Menüstruktur mit Unterseiten. Hier sind eigentlich keine Grenzen gesetzt.

      Ja, es sind ebenfalls alles Aliase, wie im Skript-Header (sind die Unterstützten Alias-Typen) beschrieben. Das mit den Aliasen hat man aber nach ein wenig Übung schnell herausgefunden.

      Datenpunkte funktionieren nur bei den folgenden 4 Werten.

          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
      

      Nach belieben mit eigenen Datenpunkten anpassen, vorausgesetzt der Screensaver soll keine Wettervorhersage anzeigen!

      Oder für einen minütlichen Wechsel zwischen Wetter-Forecast und den 4 o.a. Datenpunkten. Hierfür muss der Datenpunkt 0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecast auf "true" stehen.

      PS.: hier ist eine Anleitung. Wäre der Punkt auch drin gewesen:
      https://forum.iobroker.net/post/807730

      Dann habe ich mal eine Tabelle erstellt für die Alias Typen. Eigentlich, wenn es außerhalb der deutschen Sprache diese Aliase nicht für den Geräte-Manager gibt. Dann geht es auch mit dem Alias-Manager. Oder einfach nur zur Orientierung, welche Alias-Datenpunkte erwartet werden:
      https://forum.iobroker.net/post/814084

      Seit dem 6. Mai sind hier eine Menge Beispiele zu eigentlich allen Alias-Typen gepostet worden. Wenn mal einer nicht klappt oder Verständnisprobleme existieren, einfach fragen...

      Ach ja, der Media-Alias lässt sich "nur" mit dem Alias-Manager anlegen, alle anderen mit dem Geräte-Manager... Viel Spaß beim ausprobieren... und Vorsicht - das Ding kann süchtig machen 😉

      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • V Vocaris

        @muchul Hei,
        ich wollte zurück, da ich mit lovelace nicht zurecht kam. Habe mich aber dann doch damit beschäftigt und komme nun immer besser klar.
        Bzgl. der TFT Datei kann dir ggf. @joBr99 hier weiterhelfen.

        M Offline
        M Offline
        Muchul
        schrieb am zuletzt editiert von
        #1074

        @Vocaris
        @joBr99

        Danke euch beiden.
        Ist nicht mein NSpanel, daher werde ich die zurückgeben müssen und möchte sie im ursprünglichen Zustand abgeben.

        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          Frank Marschel
          schrieb am zuletzt editiert von
          #1075

          @armilar said in Sonoff NSPanel:

          PS.: hier ist eine Anleitung. Wäre der Punkt auch drin gewesen:
          https://forum.iobroker.net/post/807730

          Danach bin ich auch gegangen...
          in meiner Ungeduld habe ich das überlesen... :-))

          1 Antwort Letzte Antwort
          0
          • Jens WoznyJ Offline
            Jens WoznyJ Offline
            Jens Wozny
            schrieb am zuletzt editiert von
            #1076

            Hallo mal wieder,

            ich bin gerade am Verzweifeln!

            Ich hatte bereits vor längerer Zeit so am Anfang des Jahres das NSPanel zum laufen bekommen und mich nun entschieden 4 weitere in mein Haus zu integrieren.
            Ich habe mich dabei genau an die wirklich gut gemachte Anleitung von @Armilar gehalten. Einzig den Namen NSPanel_1 habe ich in Schalter_Wohnen bzw Schalter_Schlafen etc abgewandelt.

            Die ersten Punkte liefen auch ohne Probleme bis, wer wird es sich denken können, zum Anlegen vom "CustomSend".!

            Ich habe weiß ich wie oft den Befehl über die Konsole in Tasmota abgesendet aber er wurde nicht aboniert. Also den MQTT Explorer gestartet und auch dort den Befehl abgesetzt, dort wird er in den meisten Fällen unter /cmnd =CustomSend time~12:00 angezeigt aber nicht korrekt aboniert. Dort habe ich auch x-mal den Befehl abgesetzt und irgendwann plötzlich war im neuen NSPanel das abonieren erfolgreich.
            Gefreut, gedacht jetzt hast du den Kniff raus... Panel eingerichtet... läuft erstmal zumindest der Screensaver und das Wetter, noch keine weiteren Seite bisher eingerichtet.

            Zwischenzeitlich habe ich aus Verzweiflung das ich vllt. etwas Kaputt Konfiguriert habe und vllt die Shellys in meinem System stören, im IOBroker auch den MQTT Adapter Deinstalliert und neu aufgesetzt, den vorher funktionierenden Port 1883 auf die empfohlenen abgeändert, derzeit habe ich ihn durch diverse Versuche auf 1890 eingestellt. Da nach dem neu Aufsetzen natürlich die Config vom MQTT weg war fehlten im alten NSPanel auch das CustomSend jetzt.

            Da ich bei der Einrichtung des ersten NSPanel noch nach der Anleitung von Mathias Kleine gegangen bin und beim neuen nach der aktuellen Anleitung hier aus dem Forum, hatte ich somit verschiedene Aufteilungen im MQTT. Beim alten als prefix/topic und dem neuen topic/prefix. Nicht schön dachte ich mir also das ganze im alten Angepasst und nun hier auch den bekannten Befehl im MQTT Explorer und auch in der Tasmota Konsole eingegeben. Das ganze mache ich nun seit heute morgen gefühlt einige hundert mal bereits ohne Erfolg.
            Kann mir jemand den Initialen Tipp geben woran das liegen könnte oder wie oft man evtl den Befehl absetzen muss bis der Sch... MQTT Adapter endlich diesen Befehl Aboniert?!
            Da hier nun noch 3 Stück rum liegen, graut es mir bereits diese Aufzusetzen.

            LG Jens

            O 1 Antwort Letzte Antwort
            0
            • Jens WoznyJ Jens Wozny

              Hallo mal wieder,

              ich bin gerade am Verzweifeln!

              Ich hatte bereits vor längerer Zeit so am Anfang des Jahres das NSPanel zum laufen bekommen und mich nun entschieden 4 weitere in mein Haus zu integrieren.
              Ich habe mich dabei genau an die wirklich gut gemachte Anleitung von @Armilar gehalten. Einzig den Namen NSPanel_1 habe ich in Schalter_Wohnen bzw Schalter_Schlafen etc abgewandelt.

              Die ersten Punkte liefen auch ohne Probleme bis, wer wird es sich denken können, zum Anlegen vom "CustomSend".!

              Ich habe weiß ich wie oft den Befehl über die Konsole in Tasmota abgesendet aber er wurde nicht aboniert. Also den MQTT Explorer gestartet und auch dort den Befehl abgesetzt, dort wird er in den meisten Fällen unter /cmnd =CustomSend time~12:00 angezeigt aber nicht korrekt aboniert. Dort habe ich auch x-mal den Befehl abgesetzt und irgendwann plötzlich war im neuen NSPanel das abonieren erfolgreich.
              Gefreut, gedacht jetzt hast du den Kniff raus... Panel eingerichtet... läuft erstmal zumindest der Screensaver und das Wetter, noch keine weiteren Seite bisher eingerichtet.

              Zwischenzeitlich habe ich aus Verzweiflung das ich vllt. etwas Kaputt Konfiguriert habe und vllt die Shellys in meinem System stören, im IOBroker auch den MQTT Adapter Deinstalliert und neu aufgesetzt, den vorher funktionierenden Port 1883 auf die empfohlenen abgeändert, derzeit habe ich ihn durch diverse Versuche auf 1890 eingestellt. Da nach dem neu Aufsetzen natürlich die Config vom MQTT weg war fehlten im alten NSPanel auch das CustomSend jetzt.

              Da ich bei der Einrichtung des ersten NSPanel noch nach der Anleitung von Mathias Kleine gegangen bin und beim neuen nach der aktuellen Anleitung hier aus dem Forum, hatte ich somit verschiedene Aufteilungen im MQTT. Beim alten als prefix/topic und dem neuen topic/prefix. Nicht schön dachte ich mir also das ganze im alten Angepasst und nun hier auch den bekannten Befehl im MQTT Explorer und auch in der Tasmota Konsole eingegeben. Das ganze mache ich nun seit heute morgen gefühlt einige hundert mal bereits ohne Erfolg.
              Kann mir jemand den Initialen Tipp geben woran das liegen könnte oder wie oft man evtl den Befehl absetzen muss bis der Sch... MQTT Adapter endlich diesen Befehl Aboniert?!
              Da hier nun noch 3 Stück rum liegen, graut es mir bereits diese Aufzusetzen.

              LG Jens

              O Offline
              O Offline
              OlliBy67
              schrieb am zuletzt editiert von
              #1077

              @jens-wozny
              Hallo Jens.
              Ich hatte auch das Problem. Letzt endlich hat mich Post Nr 657 hier in diesem Thread weiter geholfen.
              Vielleicht hilft es dir auch.
              Vg Olli

              Jens WoznyJ 1 Antwort Letzte Antwort
              0
              • O OlliBy67

                @jens-wozny
                Hallo Jens.
                Ich hatte auch das Problem. Letzt endlich hat mich Post Nr 657 hier in diesem Thread weiter geholfen.
                Vielleicht hilft es dir auch.
                Vg Olli

                Jens WoznyJ Offline
                Jens WoznyJ Offline
                Jens Wozny
                schrieb am zuletzt editiert von
                #1078

                @olliby67 Danke für den Tipp! Beim ersten hat es schon mal geklappt, habe jetzt den nächsten raus geholt und werde ihn Flashen und hoffen, das es mit dem Befehl dann auf Anhieb klappt... ich werde berichten... 🙂

                1 Antwort Letzte Antwort
                0
                • Jens WoznyJ Offline
                  Jens WoznyJ Offline
                  Jens Wozny
                  schrieb am zuletzt editiert von
                  #1079

                  @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                  Dank euch macht es mächtig viel Spaß sowas umzusetzen, bin leider nur der stille Nachmacher 🙂 aber ohne euch und ohne die Zeit und den Hirnschmalz den ihr da so rein bringt wäre ich nicht mal in der nähe von dem, wo ich jetzt bin!

                  Großen Dank!

                  Gruß Jens

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • Jens WoznyJ Jens Wozny

                    @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                    Dank euch macht es mächtig viel Spaß sowas umzusetzen, bin leider nur der stille Nachmacher 🙂 aber ohne euch und ohne die Zeit und den Hirnschmalz den ihr da so rein bringt wäre ich nicht mal in der nähe von dem, wo ich jetzt bin!

                    Großen Dank!

                    Gruß Jens

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #1080

                    @jens-wozny sagte in Sonoff NSPanel:

                    @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                    Dank euch macht es mächtig viel Spaß sowas umzusetzen, bin leider nur der stille Nachmacher 🙂 aber ohne euch und ohne die Zeit und den Hirnschmalz den ihr da so rein bringt wäre ich nicht mal in der nähe von dem, wo ich jetzt bin!

                    Großen Dank!

                    Gruß Jens

                    Du meinst den Screenshot vom MQTT Explorer?
                    https://forum.iobroker.net/post/813557

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    O Jens WoznyJ 2 Antworten Letzte Antwort
                    0
                    • haus-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #1081

                      Hallo zusammen,

                      da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                      Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      panikP ArmilarA 3 Antworten Letzte Antwort
                      1
                      • ArmilarA Armilar

                        @jens-wozny sagte in Sonoff NSPanel:

                        @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                        Dank euch macht es mächtig viel Spaß sowas umzusetzen, bin leider nur der stille Nachmacher 🙂 aber ohne euch und ohne die Zeit und den Hirnschmalz den ihr da so rein bringt wäre ich nicht mal in der nähe von dem, wo ich jetzt bin!

                        Großen Dank!

                        Gruß Jens

                        Du meinst den Screenshot vom MQTT Explorer?
                        https://forum.iobroker.net/post/813557

                        O Offline
                        O Offline
                        OlliBy67
                        schrieb am zuletzt editiert von
                        #1082

                        @armilar said in Sonoff NSPanel:

                        @jens-wozny sagte in Sonoff NSPanel:

                        @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                        ....................

                        Du meinst den Screenshot vom MQTT Explorer?
                        https://forum.iobroker.net/post/813557

                        Ja genau. 👍

                        1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @jens-wozny sagte in Sonoff NSPanel:

                          @olliby67 So... Erfolgreich 5x NSPanel geflasht! Vielen Dank nochmals für den Tipp! Das hat wirklich jedes mal beim ersten mal funktioniert! @Armilar könntest du evtl. in deine ansonsten perfekte Anleitung diesen Hinweis aufnehmen? Das würde bestimmt den einen oder anderen viel Probieren sparen! Vielen Dank! Und natürlich auch dank an @Herbiek für den Initialen Hinweis.

                          Dank euch macht es mächtig viel Spaß sowas umzusetzen, bin leider nur der stille Nachmacher 🙂 aber ohne euch und ohne die Zeit und den Hirnschmalz den ihr da so rein bringt wäre ich nicht mal in der nähe von dem, wo ich jetzt bin!

                          Großen Dank!

                          Gruß Jens

                          Du meinst den Screenshot vom MQTT Explorer?
                          https://forum.iobroker.net/post/813557

                          Jens WoznyJ Offline
                          Jens WoznyJ Offline
                          Jens Wozny
                          schrieb am zuletzt editiert von
                          #1083

                          @armilar ja genau den, ohne den Hinweis gestern hätte ich ihn auch erst nicht gefunden da die Anzahl der Posts doch ziemlich angewachsen ist und auch wenn man sich bemüht irgendwann doch die Übersicht verliert 🙂

                          ArmilarA 1 Antwort Letzte Antwort
                          0
                          • haus-automatisierungH haus-automatisierung

                            Hallo zusammen,

                            da dieser Thread (und damit auch die einzige Dokumentation) ziemlich verteilt Infos liefert, habe ich probiert das Vorgehen mal in einem Video zusammen zu fassen: https://youtu.be/ZPLJk2ZLo_8

                            Danke für die tolle Arbeit @Armilar ! Ich hoffe, dass ich mit meinen letzten Änderungen am Script ein wenig helfen konnte. Keine neuen Features - nur Aufräumarbeiten. Insbesondere wenn das Script erstmalig ausgeführt wurde, gab es sehr viele Warnungen.

                            panikP Offline
                            panikP Offline
                            panik
                            schrieb am zuletzt editiert von
                            #1084

                            @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

                            T ArmilarA 2 Antworten Letzte Antwort
                            0
                            • panikP panik

                              @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

                              T Offline
                              T Offline
                              TT-Tom
                              schrieb am zuletzt editiert von
                              #1085

                              @panik

                              Für den Abfall gibt es hier ein Beitrag.

                              Bei Alarm kann ich dir nicht helfen.

                              Gruß Tom
                              https://github.com/tt-tom17
                              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                              NSPanel Script Wiki
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              NSPanel Adapter Wiki
                              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                Kuckuckmann
                                schrieb am zuletzt editiert von Kuckuckmann
                                #1086

                                Ich mal wieder 🙂

                                Ich versuche mich gerade daran den Button2 als meinen Home Button zu deklarieren.

                                Ich habe den Button vom Relay getrennt:

                                Rule2 on Button2#state do Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"} endon
                                

                                und die dann aktiviert mit

                                Rule2 1 (Rule aktivieren)
                                

                                Nun habe ich im ioBroker

                                mqtt.0.SmartHome.nspanel_7C14FC.cmnd.RESULT
                                

                                mit dem Wert

                                {"CustomRecv":"event,button2"}
                                

                                Im Skript habe ich eine PageGrid mit dem Namen "Home".
                                Also habe ich in er Page Definition gesagt:

                                button2Page: Home
                                

                                Wenn ich den Button nun drücke schaltet kein Relay mehr (was so sein soll) ,aber meine Seite "Home" wird nicht geladen.

                                In der Tasmota Konsole sehe ich das:

                                15:14:28.355 APP: Knopf2 Mehrfachdruck 1
                                15:14:28.875 RUL: BUTTON2#STATE performs "Publish SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}"
                                15:14:28.878 SRC: Rule
                                15:14:28.881 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 71, Pld -99, Data 'SmartHome/nspanel_7C14FC/cmnd/RESULT {"CustomRecv":"event,button2"}'
                                15:14:28.891 MQT: SmartHome/nspanel_7C14FC/cmnd/RESULT = {"CustomRecv":"event,button2"}
                                15:15:00.039 SRC: MQTT
                                15:15:00.043 CMD: Grp 0, Cmd 'CUSTOMSEND', Idx 1, Len 10, Pld -99, Data 'time~16:15'
                                15:15:00.063 NXP: payload sent = bytes('55BB0A0074696D657E31363A3135BC35')
                                15:15:00.072 MQT: SmartHome/nspanel_7C14FC/stat/RESULT = {"CustomSend":"Done"}
                                

                                Wo ist mein Fehler?

                                Danke vorab.

                                LG

                                NSPanel Dokumentation im GitHub Wiki:

                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                ArmilarA 1 Antwort Letzte Antwort
                                0
                                • T TT-Tom

                                  @panik

                                  Für den Abfall gibt es hier ein Beitrag.

                                  Bei Alarm kann ich dir nicht helfen.

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von
                                  #1087

                                  @tt-tom sagte in Sonoff NSPanel:

                                  @panik

                                  Für den Abfall gibt es hier ein Beitrag.

                                  Bei Alarm kann ich dir nicht helfen.

                                  o.a. Link von TT-Tom für dynamische Erstellung per ical

                                  oder statisch (ebenfalls per ical)
                                  https://forum.iobroker.net/post/846494
                                  Hier wurde der Adapter "Müllabfuhr-Zeitplan" (trashschedule optional verwendet. Auf diese kann man dann per info-Alias zugreifen.

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Antwort Letzte Antwort
                                  0
                                  • panikP panik

                                    @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von Armilar
                                    #1088

                                    @panik sagte in Sonoff NSPanel:

                                    @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

                                    Keine Panik 😉

                                    Gerne folgende Anleitung befolgen:

                                    Folgende 3 Datenpunkte unter 0_userdata anlegen (sollten eigentlich schon da sein):
                                    83e440f3-b152-4dbd-a514-c758cecbab06-image.png

                                    Dann wie in den Beispiel pageItems
                                    var Buero_Alarm: PageAlarm =
                                    {
                                    "type": "cardAlarm",
                                    "heading": "Alarm",
                                    "useColor": true,
                                    "subPage": false,
                                    "parent": undefined,
                                    "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
                                    };

                                    1c075d93-b101-455a-bacb-c306b0e092e7-image.png

                                    Alias-Feueralarm verwenden oder wie folgt mit Alias-Manager:
                                    c562e1ea-33fd-4a3d-965f-b9f4fcd98993-image.png
                                    aae6b780-3d15-4017-a566-00059ba885c3-image.png
                                    fe07b7b6-97de-4b92-9937-a837b84f2c00-image.png

                                    Bei Aktivierung oder Deaktivierung der Alarmanlage wechselt der Status in "arming" oder "pending". Da die Verarbeitung der Alarmlogik außerhalb des Skriptes stattfindet, müssen die Datenpunkte auch entsprechend durch das externe Skript weitergetaktet werden:

                                    Nachfolgend ein kurzes Emulationsskript für die Weiterverarbeitung. Diese Logik sollte auch in dein eigenes externes Alarm-Skript übernommen werden.

                                    6d784593-e046-434e-a610-7eb1e8464f9a-image.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                        <field name="CONDITION">ne</field>
                                        <field name="ACK_CONDITION"></field>
                                        <value name="OID0">
                                          <shadow type="field_oid" id="]~f@4kO$zmxdg=}/810C">
                                            <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                          </shadow>
                                        </value>
                                        <statement name="STATEMENT">
                                          <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                                            <mutation elseif="1"></mutation>
                                            <value name="IF0">
                                              <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                                                    <field name="ATTR">state.val</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                                                    <field name="TEXT">arming</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                <field name="WITH_DELAY">TRUE</field>
                                                <field name="DELAY_MS">1000</field>
                                                <field name="UNIT">ms</field>
                                                <field name="CLEAR_RUNNING">TRUE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="J(va8~n[/dogNBn!W].I">
                                                    <field name="TEXT">armed</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <value name="IF1">
                                              <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                                                <field name="OP">EQ</field>
                                                <value name="A">
                                                  <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                                                    <field name="ATTR">state.val</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                                                    <field name="TEXT">pending</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO1">
                                              <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                <field name="WITH_DELAY">TRUE</field>
                                                <field name="DELAY_MS">1000</field>
                                                <field name="UNIT">ms</field>
                                                <field name="CLEAR_RUNNING">TRUE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                                                    <field name="TEXT">disarmed</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    Test-Blockly starten

                                    Alarm-Code in die cardAlarm eingeben --> Schutz auswählen --> aktiviert
                                    Alarm-Code in die cardAlarm eingeben --> Deaktivieren --> deaktiviert

                                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    panikP 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @kuckuckmann sagte in Sonoff NSPanel:

                                      @Armilar

                                      Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                      //Subpage 1 von Subpages_1
                                      var Abfall: PageEntities =
                                      {
                                          "type": "cardEntities",
                                          "heading": "Abfallkalender",
                                          "useColor": true,
                                          "subPage": true,
                                          "parent": Subpages_1,
                                          "items": [
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                          ]
                                      };
                                      

                                      Unsere Stadt stellt einen ical Kalender zur Verfügung.

                                      var i, Muell_JSON, Event2, Color;
                                      
                                      function subsequenceFromStartLast(sequence, at1) {
                                        var start = at1;
                                        var end = sequence.length - 1 + 1;
                                        return sequence.slice(start, end);
                                      }
                                      
                                      
                                      on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        for (i = 0; i <= 3; i++) {
                                          Muell_JSON = getState("ical.1.data.table").val;
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                          Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                          if (Event2 == 'Reststoff') {
                                            Color = 33840;
                                          } else if (Event2 == 'Biotonne') {
                                            Color = 2016;
                                          } else if (Event2 == 'Blaue Tonne') {
                                            Color = 31;
                                          } else if (Event2 == 'Gelbe Tonne') {
                                            Color = 65504;
                                          }
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                        }
                                      });
                                      

                                      Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                                      Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                                      Statisch lässt dich das als Alias "info" abbilden

                                      K Offline
                                      K Offline
                                      Kuckuckmann
                                      schrieb am zuletzt editiert von Kuckuckmann
                                      #1089

                                      @armilar said in Sonoff NSPanel:

                                      @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                                      Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                                      Ich nutze den Trashschedul Adapter von @haus-automatisierung und beziehe mich dort auf den Datumswert nextdateformat.

                                      Danke vorab
                                      LG

                                      @kuckuckmann sagte in Sonoff NSPanel:

                                      @Armilar

                                      Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                      //Subpage 1 von Subpages_1
                                      var Abfall: PageEntities =
                                      {
                                          "type": "cardEntities",
                                          "heading": "Abfallkalender",
                                          "useColor": true,
                                          "subPage": true,
                                          "parent": Subpages_1,
                                          "items": [
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                          ]
                                      };
                                      

                                      Unsere Stadt stellt einen ical Kalender zur Verfügung.

                                      var i, Muell_JSON, Event2, Color;
                                      
                                      function subsequenceFromStartLast(sequence, at1) {
                                        var start = at1;
                                        var end = sequence.length - 1 + 1;
                                        return sequence.slice(start, end);
                                      }
                                      
                                      
                                      on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        for (i = 0; i <= 3; i++) {
                                          Muell_JSON = getState("ical.1.data.table").val;
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                          Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                          if (Event2 == 'Reststoff') {
                                            Color = 33840;
                                          } else if (Event2 == 'Biotonne') {
                                            Color = 2016;
                                          } else if (Event2 == 'Blaue Tonne') {
                                            Color = 31;
                                          } else if (Event2 == 'Gelbe Tonne') {
                                            Color = 65504;
                                          }
                                          setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                        }
                                      });
                                      

                                      Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                                      Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                                      Statisch lässt dich das als Alias "info" abbilden

                                      NSPanel Dokumentation im GitHub Wiki:

                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      ArmilarA 1 Antwort Letzte Antwort
                                      1
                                      • ArmilarA Armilar

                                        @panik sagte in Sonoff NSPanel:

                                        @haus-automatisierung Dann schaue ich da mal rein, vielleicht gibt es da Hinweise zum Bafallkalender und CardAlarm denn da Hänge ich und habe hier auch nicht den passenden Hinweis finden können bzw. die nötigen Aliase ?!

                                        Keine Panik 😉

                                        Gerne folgende Anleitung befolgen:

                                        Folgende 3 Datenpunkte unter 0_userdata anlegen (sollten eigentlich schon da sein):
                                        83e440f3-b152-4dbd-a514-c758cecbab06-image.png

                                        Dann wie in den Beispiel pageItems
                                        var Buero_Alarm: PageAlarm =
                                        {
                                        "type": "cardAlarm",
                                        "heading": "Alarm",
                                        "useColor": true,
                                        "subPage": false,
                                        "parent": undefined,
                                        "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
                                        };

                                        1c075d93-b101-455a-bacb-c306b0e092e7-image.png

                                        Alias-Feueralarm verwenden oder wie folgt mit Alias-Manager:
                                        c562e1ea-33fd-4a3d-965f-b9f4fcd98993-image.png
                                        aae6b780-3d15-4017-a566-00059ba885c3-image.png
                                        fe07b7b6-97de-4b92-9937-a837b84f2c00-image.png

                                        Bei Aktivierung oder Deaktivierung der Alarmanlage wechselt der Status in "arming" oder "pending". Da die Verarbeitung der Alarmlogik außerhalb des Skriptes stattfindet, müssen die Datenpunkte auch entsprechend durch das externe Skript weitergetaktet werden:

                                        Nachfolgend ein kurzes Emulationsskript für die Weiterverarbeitung. Diese Logik sollte auch in dein eigenes externes Alarm-Skript übernommen werden.

                                        6d784593-e046-434e-a610-7eb1e8464f9a-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="113" y="38">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <value name="OID0">
                                              <shadow type="field_oid" id="]~f@4kO$zmxdg=}/810C">
                                                <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                              </shadow>
                                            </value>
                                            <statement name="STATEMENT">
                                              <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                                                <mutation elseif="1"></mutation>
                                                <value name="IF0">
                                                  <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                                                        <field name="TEXT">arming</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                    <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                    <field name="WITH_DELAY">TRUE</field>
                                                    <field name="DELAY_MS">1000</field>
                                                    <field name="UNIT">ms</field>
                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="J(va8~n[/dogNBn!W].I">
                                                        <field name="TEXT">armed</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <value name="IF1">
                                                  <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                                                        <field name="TEXT">pending</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO1">
                                                  <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                    <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                    <field name="WITH_DELAY">TRUE</field>
                                                    <field name="DELAY_MS">1000</field>
                                                    <field name="UNIT">ms</field>
                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                    <value name="VALUE">
                                                      <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                                                        <field name="TEXT">disarmed</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                              </block>
                                            </statement>
                                          </block>
                                        </xml>
                                        

                                        Test-Blockly starten

                                        Alarm-Code in die cardAlarm eingeben --> Schutz auswählen --> aktiviert
                                        Alarm-Code in die cardAlarm eingeben --> Deaktivieren --> deaktiviert

                                        panikP Offline
                                        panikP Offline
                                        panik
                                        schrieb am zuletzt editiert von
                                        #1090

                                        @armilar Wie geil! Da werde ich mich nochmal hinsetzen und das Ausprobieren 🙂
                                        Vielen Dank!

                                        1 Antwort Letzte Antwort
                                        0
                                        • K Kuckuckmann

                                          @armilar said in Sonoff NSPanel:

                                          @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                                          Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                                          Ich nutze den Trashschedul Adapter von @haus-automatisierung und beziehe mich dort auf den Datumswert nextdateformat.

                                          Danke vorab
                                          LG

                                          @kuckuckmann sagte in Sonoff NSPanel:

                                          @Armilar

                                          Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                          //Subpage 1 von Subpages_1
                                          var Abfall: PageEntities =
                                          {
                                              "type": "cardEntities",
                                              "heading": "Abfallkalender",
                                              "useColor": true,
                                              "subPage": true,
                                              "parent": Subpages_1,
                                              "items": [
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                              ]
                                          };
                                          

                                          Unsere Stadt stellt einen ical Kalender zur Verfügung.

                                          var i, Muell_JSON, Event2, Color;
                                          
                                          function subsequenceFromStartLast(sequence, at1) {
                                            var start = at1;
                                            var end = sequence.length - 1 + 1;
                                            return sequence.slice(start, end);
                                          }
                                          
                                          
                                          on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            for (i = 0; i <= 3; i++) {
                                              Muell_JSON = getState("ical.1.data.table").val;
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                              Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                              if (Event2 == 'Reststoff') {
                                                Color = 33840;
                                              } else if (Event2 == 'Biotonne') {
                                                Color = 2016;
                                              } else if (Event2 == 'Blaue Tonne') {
                                                Color = 31;
                                              } else if (Event2 == 'Gelbe Tonne') {
                                                Color = 65504;
                                              }
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                            }
                                          });
                                          

                                          Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                                          Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                                          Statisch lässt dich das als Alias "info" abbilden

                                          ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von
                                          #1091

                                          @kuckuckmann sagte in Sonoff NSPanel:

                                          @armilar said in Sonoff NSPanel:

                                          @Armilar Du hast hier geschrieben "darüber liegt jeweils ein Alias vom Typ "warning"". Kannst Du mal beschreiben, welche Felder du mit welchen Daten befüllst?
                                          Egal was ich mache, ich bekomme entweder eine blaue Tonne (Symbol) mit dem Datum als Beschreibung und Wert, oder eine schwarze Tonne (Symbol) mit null als Beschreibung und Wert.

                                          Danke vorab
                                          LG

                                          @kuckuckmann sagte in Sonoff NSPanel:

                                          @Armilar

                                          Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                          //Subpage 1 von Subpages_1
                                          var Abfall: PageEntities =
                                          {
                                              "type": "cardEntities",
                                              "heading": "Abfallkalender",
                                              "useColor": true,
                                              "subPage": true,
                                              "parent": Subpages_1,
                                              "items": [
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                              ]
                                          };
                                          

                                          Unsere Stadt stellt einen ical Kalender zur Verfügung.

                                          var i, Muell_JSON, Event2, Color;
                                          
                                          function subsequenceFromStartLast(sequence, at1) {
                                            var start = at1;
                                            var end = sequence.length - 1 + 1;
                                            return sequence.slice(start, end);
                                          }
                                          
                                          
                                          on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            for (i = 0; i <= 3; i++) {
                                              Muell_JSON = getState("ical.1.data.table").val;
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                              Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                              if (Event2 == 'Reststoff') {
                                                Color = 33840;
                                              } else if (Event2 == 'Biotonne') {
                                                Color = 2016;
                                              } else if (Event2 == 'Blaue Tonne') {
                                                Color = 31;
                                              } else if (Event2 == 'Gelbe Tonne') {
                                                Color = 65504;
                                              }
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                            }
                                          });
                                          

                                          Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                                          Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                                          Statisch lässt dich das als Alias "info" abbilden

                                          ff5c7e62-f840-44de-9c7d-ab9d8317587d-image.png

                                          also jeweils für event 1 bis event 4

                                          fca79a75-9585-462b-bb9e-c9ffc31159bb-image.png

                                          und das sind die Datenpunkte
                                          6b9e0fb1-c84d-4d55-9569-59b2ceb7a65a-image.png

                                          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          K 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

                                          765

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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