Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • Rene55
      Rene55 @TT-Tom last edited by

      @tt-tom Hier die Konstanten

      
      const jsonEventName1: string = 'Restmüll (grau) // GEM'; // Vergleichstring für Schwarze Tonne
      const customEventName1: string = 'Restmüll';        // benutzerdefinierter Text für schwarze Tonne
      const jsonEventName2: string = 'Verpackungen (gelb) // GEM'; // Vergleichstring für Gelbe Tonne / Sack
      const customEventName2: string = 'Gelbe Tonne';       // benutzerdefinierter Text für gelbe Tonne
      const jsonEventName3: string = 'Altpapier (blau) // GEM';    // Vergleichstring für Blaue Tonne
      const customEventName3: string = 'Papiertonne';       // benutzerdefinierter Text für blaue Tonne
      const jsonEventName4: string = 'Bioabfall (braun) // GEM';   // Vergleichstring für Braune Tonne
      const customEventName4: string = 'Bio';        // benutzerdefinierter Text für braune Tonne
      const jsonEventName5: string = 'Treppe';   // Vergleichstring für Event 5
      const customEventName5: string = 'Besen schwingen';        // benutzerdefinierter Text für Event 5
      const jsonEventName6: string = '';   // Vergleichstring für Event 6
      const customEventName6: string = '';        // benutzerdefinierter Text für Event 6
      

      und das Log

      
      2024-01-22 12:56:50.954 - info: javascript.0 (364) Stop script script.js.common.NSPanel.Abfall_511
      2024-01-22 12:56:54.193 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: compiling TypeScript source...
      2024-01-22 12:56:54.212 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: source code did not change, using cached compilation result...
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.1 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.2 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.3 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.4 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.5 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datenpunkt 0_userdata.0.Abfallkalender.6 vorhanden
      2024-01-22 12:56:54.217 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startabfrage der Daten
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Rohdaten von Instanz ical: [{"date":"Heute ","event":"Restmüll (grau) // GEM","_class":"ical_Rene_55 ical_today","_date":"2024-01-21T23:00:00.000Z","_end":"2024-01-22T23:00:00.000Z","_IDID":"grau-2024-01-22@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-21T23:00:00.000Z","datetype":"date","end":"2024-01-22T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"grau-2024-01-22@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Restmüll (grau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"Übermorgen ","event":"Altpapier (blau) // GEM","_class":"ical_Rene_55 ical_dayafter","_date":"2024-01-23T23:00:00.000Z","_end":"2024-01-24T23:00:00.000Z","_IDID":"blau-2024-01-24@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-23T23:00:00.000Z","datetype":"date","end":"2024-01-24T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"blau-2024-01-24@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Altpapier (blau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 4 Tagen ","event":"Bioabfall (braun) // GEM","_class":"ical_Rene_55 ical_4days","_date":"2024-01-25T23:00:00.000Z","_end":"2024-01-26T23:00:00.000Z","_IDID":"braun-2024-01-26@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-25T23:00:00.000Z","datetype":"date","end":"2024-01-26T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"braun-2024-01-26@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Bioabfall (braun) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In einer Woche ","event":"Treppe","_class":"ical_Rene_55 ical_oneweek","_date":"2024-01-28T23:00:00.000Z","_end":"2024-02-04T23:00:00.000Z","_section":"Treppe fegen","_IDID":"vbdvlermk3o4b7dgui0293h4d9@google.com","_allDay":true,"_private":false,"_rule":" rrule ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-28T23:00:00.000Z","datetype":"date","end":"2024-02-04T23:00:00.000Z","rrule":{"_cache":{"all":false,"before":[],"after":[],"between":[]},"origOptions":{"dtstart":"2023-11-06T00:00:00.000Z","freq":2,"wkst":{"weekday":6},"interval":4,"byweekday":[{"weekday":0}]},"options":{"freq":2,"dtstart":"2023-11-06T00:00:00.000Z","interval":4,"wkst":6,"count":null,"until":null,"bysetpos":null,"bymonth":null,"bymonthday":[],"bynmonthday":[],"byyearday":null,"byweekno":null,"byweekday":[0],"bynweekday":null,"byhour":[0],"byminute":[0],"bysecond":[0],"byeaster":null}},"dtstamp":"2024-01-22T11:30:23.000Z","uid":"vbdvlermk3o4b7dgui0293h4d9@google.com","created":"2022-01-01T11:41:28.000Z","description":"Treppe fegen","lastmodified":"2022-12-16T09:22:43.000Z","sequence":"2","status":"CONFIRMED","summary":"Treppe","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"31.01.2024 ","event":"Verpackungen (gelb) // GEM","_class":"ical_Rene_55 ","_date":"2024-01-30T23:00:00.000Z","_end":"2024-01-31T23:00:00.000Z","_IDID":"gelb-2024-01-31@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-30T23:00:00.000Z","datetype":"date","end":"2024-01-31T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"gelb-2024-01-31@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Verpackungen (gelb) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"05.02.2024 ","event":"Restmüll (grau) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-04T23:00:00.000Z","_end":"2024-02-05T23:00:00.000Z","_IDID":"grau-2024-02-05@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-04T23:00:00.000Z","datetype":"date","end":"2024-02-05T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"grau-2024-02-05@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Restmüll (grau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"07.02.2024 ","event":"Altpapier (blau) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-06T23:00:00.000Z","_end":"2024-02-07T23:00:00.000Z","_IDID":"blau-2024-02-07@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-06T23:00:00.000Z","datetype":"date","end":"2024-02-07T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"blau-2024-02-07@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Altpapier (blau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"09.02.2024 ","event":"Bioabfall (braun) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-08T23:00:00.000Z","_end":"2024-02-09T23:00:00.000Z","_IDID":"braun-2024-02-09@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-08T23:00:00.000Z","datetype":"date","end":"2024-02-09T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"braun-2024-02-09@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Bioabfall (braun) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"15.02.2024 ","event":"Verpackungen (gelb) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-14T23:00:00.000Z","_end":"2024-02-15T23:00:00.000Z","_IDID":"gelb-2024-02-15@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-14T23:00:00.000Z","datetype":"date","end":"2024-02-15T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"gelb-2024-02-15@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Verpackungen (gelb) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"19.02.2024 ","event":"Restmüll (grau) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-18T23:00:00.000Z","_end":"2024-02-19T23:00:00.000Z","_IDID":"grau-2024-02-19@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-18T23:00:00.000Z","datetype":"date","end":"2024-02-19T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"grau-2024-02-19@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Restmüll (grau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"21.02.2024 ","event":"Altpapier (blau) // GEM","_class":"ical_Rene_55 ","_date":"2024-02-20T23:00:00.000Z","_end":"2024-02-21T23:00:00.000Z","_IDID":"blau-2024-02-21@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene_55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-20T23:00:00.000Z","datetype":"date","end":"2024-02-21T23:00:00.000Z","dtstamp":"2024-01-22T11:30:23.000Z","uid":"blau-2024-02-21@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Altpapier (blau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}}]
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Anzahl Trash - Daten: 11
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-01-21T23:00:00.000Z
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: Heute
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Restmüll (grau) // GEM
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Restmüll (grau) // GEM%
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Restmüll
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 1
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-01-23T23:00:00.000Z
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: Übermorgen
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Altpapier (blau) // GEM
      2024-01-22 12:56:54.218 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Altpapier (blau) // GEM%
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Papiertonne
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 2
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-01-25T23:00:00.000Z
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: In 4 Tagen
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Bioabfall (braun) // GEM
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Bioabfall (braun) // GEM%
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Bio
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 3
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-01-28T23:00:00.000Z
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: In einer Woche
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Treppe
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Treppe%
      2024-01-22 12:56:54.219 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-01-30T23:00:00.000Z
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: 31.01.2024
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Verpackungen (gelb) // GEM
      2024-01-22 12:56:54.219 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Verpackungen (gelb) // GEM%
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Gelbe Tonne
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 4
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-02-04T23:00:00.000Z
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: 05.02.2024
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Restmüll (grau) // GEM
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Restmüll (grau) // GEM%
      2024-01-22 12:56:54.220 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Restmüll
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 5
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Daten vom ical Adapter werden ausgewertet
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: --------- Nächster Termin wird geprüft ---------
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Startdatum UTC: 2024-02-06T23:00:00.000Z
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Datum: 07.02.2024
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event: Altpapier (blau) // GEM
      2024-01-22 12:56:54.221 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Kontrolle Leerzeichen %Altpapier (blau) // GEM%
      2024-01-22 12:56:54.222 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Event customName: Papiertonne
      2024-01-22 12:56:54.222 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Abfallnummer: 6
      2024-01-22 12:56:54.222 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall_511: Alle Abfall-Datenpunkte gefüllt
      2024-01-22 12:56:54.222 - info: javascript.0 (364) script.js.common.NSPanel.Abfall_511: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-01-22 12:56:56.624 - info: admin.0 (307) <== Disconnect system.user.admin from 192.168.68.44 javascript
      2024-01-22 12:57:00.012 - info: mqtt.0 (417) send2Server mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend[SmartHome/NSPanel_1/cmnd/CustomSend]
      2024-01-22 12:57:00.014 - info: mqtt.0 (417) send2Server mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend[SmartHome/NSPanel_1/cmnd/CustomSend]
      

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @theknut last edited by ticaki

        @theknut sagte in SONOFF NSPanel mit Lovelace UI:

        @ticaki said in SONOFF NSPanel mit Lovelace UI:

        @theknut sagte in SONOFF NSPanel mit Lovelace UI:

        Wundert mich, dass es da einen Fehler gibt. matchAll gibt es schon seit Node V12 und ist auch in der ECMAScript 2020 Spezifikation. Bei mir und @armilar lief es ohne Kompilierfehler. Temporär könntest du die yAxisTicks selbst vorgeben, dann sollte es gehen.

        Da wird nicht getestet das es auch tatsächlich ein String ist, der da ankommt.

        guter Punkt, bau ich noch ein

        mache einfach ein String() um das txt im [...String(txt) AFAIK sollte dann aus allem auch einem object ein String werden.

        EDIT getestet:

        javascript.0 (1272) script.js.Test.Skript_type_1: String(1) 1 String(true) true String(null) null String(undefined) undefined String({test:true}) [object Object]
        

        EDIT:

        String(() => {log('test')}) daraus wird: "function () { log('test'); }"
        
        1 Reply Last reply Reply Quote 1
        • T
          TT-Tom @Rene55 last edited by

          @rene55 Sorry Fehler lag bei mir / Script, bitte nochmal neu von Github ziehen.

          Rene55 Neuschwansteini 2 Replies Last reply Reply Quote 1
          • D
            Doggie @Armilar last edited by

            @armilar und Andere, Danke an alle nochmals für die Hilfe.
            Nebenbei bemerkt: Ich weiß nicht, ob es so günstig ist alles zum Thema NSPanel in ein Topic zu packen. So sind mehrere Anfragen "verschachtelt" und schwerer zu lesen. Gut wäre es, wenn man "Untertopics" anlegen könnte, aber das gibt die Forensoftware wohl nicht her.

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @Doggie last edited by

              @doggie sagte in SONOFF NSPanel mit Lovelace UI:

              @armilar und Andere, Danke an alle nochmals für die Hilfe.
              Nebenbei bemerkt: Ich weiß nicht, ob es so günstig ist alles zum Thema NSPanel in ein Topic zu packen. So sind mehrere Anfragen "verschachtelt" und schwerer zu lesen. Gut wäre es, wenn man "Untertopics" anlegen könnte, aber das gibt die Forensoftware wohl nicht her.

              Die Sache ist das ca. 60% der Topics im deutschen Forum bei mir ausgeblendet werden und wenn dort eine Frage zu diesem Panel erscheint, bekomme ich die nie zu sehen.

              1 Reply Last reply Reply Quote 0
              • Armilar
                Armilar Most Active Forum Testing last edited by

                @ticaki

                Dito... Ich lese nur sehr wenig der meisten Threads und Posts hier im Forum... Wenn du es hier reinschreibst, dann werde ich automatisch benachrichtigt... Leider gibt es kein Unterforum für das NSPanel, was es deutlich strukturieren würde...

                Auf der anderen Seite bekommt man aber auch Lösungen und Anregungen zu anderen Themen und Fragestellungen...

                1 Reply Last reply Reply Quote 0
                • Rene55
                  Rene55 @TT-Tom last edited by

                  @tt-tom Erfolg ist zu vermelden: Mein Abfallkalender läuft. NSPanel_Abfallkalender.jpg

                  Habe zwar den Colorpicker, den du gezeigt hast nicht gefunden, aber dennoch eine 'schöne' Farbe gewählt.

                  T 1 Reply Last reply Reply Quote 2
                  • T
                    TT-Tom @Rene55 last edited by

                    @rene55

                    https://nodtem66.github.io/nextion-hmi-color-convert/index.html

                    Rene55 1 Reply Last reply Reply Quote 1
                    • Rene55
                      Rene55 @TT-Tom last edited by

                      @tt-tom Auch hier gibt es was zu sehen: Der Graph entwickelt sich langsam (aber stetig).

                      NSPanel_TemperaturGraph.jpg

                      Danke auch hierfür und für die kräftige Hilfestellung.
                      Kleiner Wunsch von mir: const BucketName: string = 'storage_short'; statt fest verdrahtetem "iobroker' noch mit einbauen.

                      T theknut 2 Replies Last reply Reply Quote 2
                      • T
                        TT-Tom @Rene55 last edited by

                        @rene55 sagte in SONOFF NSPanel mit Lovelace UI:

                        const BucketName: string = 'storage_short';

                        Wunsch erfüllt 😊

                        1 Reply Last reply Reply Quote 1
                        • Rene55
                          Rene55 last edited by

                          @tt-tom Vielen Dank, das ging aber fix !!

                          1 Reply Last reply Reply Quote 0
                          • D
                            Doggie @Armilar last edited by

                            @armilar
                            Es funktioniert immer noch nicht.
                            Ich habe im Tab "Geräte" unter NSPanel - 1 einen Ordner mit dem Namen "Gaszähler" angelegt.
                            Dann unter diesem Ordner "Gaszähler" ein Gerät mit dem Namen "Verbrauch Heute" und als Typ"Info" Das Gerät wird angelegt, aber es erscheint kein Fenster wo ich die Verknüpfung mit dem Datenpunkt aus Javascript - Gaszähler - Verbrauch Heute herstellen kann.
                            Das Fenster ist aber gestern schon erschienen. Warum heute nicht? Irgendetwas läuft noch schief.
                            Inzwischen reagiert der ganze IOBroker nicht mehr, weder mit Browser noch über Putty.
                            Bald brauche ich nicht nur dieses Forum, sondern auch die Telefonseelsorge😧
                            Jetzt muss ich erstmal den ioBroker wieder in Gange bringen...

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Doggie @Doggie last edited by

                              Nachtrag: Er läuft wieder, aber nur nach power-on-reset und iob fix.

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                TT-Tom @Doggie last edited by

                                @doggie zeige mal bitte ein Bild von dem Alias Ordner wo der Gaszähler jetzt liegt

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Doggie @TT-Tom last edited by

                                  @tt-tom Gerne:
                                  e80b189f-772c-43d3-9b66-205a7ddfc6a6-image.png

                                  Wenn ich mit dem Cursor über den Stift streiche, erscheint dort : "Ordner bearbeiten" bei anderen Geräten erscheint "Zustände bearbeiten" und ich kann ein Alias anlegen.
                                  Bei anderen Geräten ist alles gut:
                                  f6875d00-8300-405b-9a2a-c15164f0d6b6-image.png
                                  Schon merkwürdig.

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    TT-Tom @Doggie last edited by TT-Tom

                                    @doggie wenn ich das richtig sehe hast du dein Datenpunkt unter nspanel.1.gaszähler angelegt. findest du diesen unter Objekte im Alias nicht?

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Doggie @TT-Tom last edited by

                                      @tt-tom Ich habe noch weiter probiert:
                                      5bbfc4a1-a4ea-4b07-9631-ba0de65127c2-image.png
                                      Obwohl ich unter Gaszähler ein Gerät angelegt habe, erscheint es unter Geräte nicht.

                                      Unter Objekten erscheint garnichts:
                                      3165769b-c0fc-4aa4-96e1-c91117f4d304-image.png

                                      Ich habe nochmal mit dem Alias-Manager "herumprobiert". Dort erscheinen einige Aliase, obwohl ich sie unter Geräten gelöscht habe. Nur, ein System kann ich nicht erkennen.
                                      Ob es einen Fehler im ioBroker gibt?

                                      Der gleiche Zustand wie oben im Alias-Manager:
                                      3bc76492-5692-4beb-bf0d-22778ceb811f-image.png

                                      Verstehen tu ich das nicht.

                                      Armilar 1 Reply Last reply Reply Quote 0
                                      • theknut
                                        theknut @Rene55 last edited by

                                        @rene55 das war auch einer meiner Änderungen, ich mach jetzt den PR

                                        1 Reply Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @Doggie last edited by Armilar

                                          @doggie

                                          Ich habe den Eindruck du hast den Zweck des Alias nicht wirklich verstanden...

                                          Du suchst nach der Erstellung des Alias nach dem Datenpunkt des Gaszählers? ... Es ist genau anders herum.

                                          1. Zunächst brauchst du den Datenpunkt aus einem Adapter, der dir den Wert des Gaszählers anzeigt, den du im Panel darstellen willst.
                                          2. Jetzt öffnest du den Gerätemanger, vergibst einen Namen und wählst den Gerätetypen Info aus
                                          3. In dem Fenster, in dem der .ACTUAL erscheint ordnest du den Datenpunkt aus Punkt 1) zu.

                                          speichern. Das wars...

                                          In der Seitenvariable für den Gaszähler trägst du den eben erstellen Alias (ohne das .ACTUAL) ein.

                                          fertig...

                                          Da wird nichts im NSPanel-Verzeichnis wie aus Geisterhand erscheinen... Punkt 1 - 3 und fertig ist das Ding

                                          T D 2 Replies Last reply Reply Quote 0
                                          • theknut
                                            theknut last edited by theknut

                                            öhm sorry Leute, scheinbar kann jeder das Wiki editieren, ich dachte der macht dann einen PR drauß, aber er hat es einfach gespeichert....
                                            Bitte noch mal drüber schauen, aber bei mir läuft das schon seit ein paar Tagen problemlos: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#typescript-für-influx2

                                            Hier das aktualisierte Skript:

                                            • jetzt mit async/await
                                            • kann mehrere States überwachen
                                            • generiert sofort die States
                                              • man muss nicht erst warten, bis ein neuer Wert kommt
                                              • das ist gerade fürs Testen bisschen nervig
                                            • Bucket ist konfigurierbar
                                            const Debug = false;
                                            
                                            const NSPanel_Path = '0_userdata.0.NSPanel.1.';
                                            const Path = NSPanel_Path + 'Influx2NSPanel.cardLChart.';
                                            const InfluxInstance = 'influxdb.1';
                                            const influxDbBucket = 'iobroker';
                                            const numberOfHoursAgo = 24;
                                            const xAxisTicksEveryM = 60;
                                            const xAxisLabelEveryM = 240;
                                            
                                            // this records holds all sensors and their corresponding states which act as the data source for the charts
                                            // add all sensors which are to be displayed in this script, there is no need to use multiple scripts
                                            const sensors : Record<string, string> = {};
                                            /*         ↓ Id of the sensor                 ↓ Id of the data source for the charts */
                                            sensors['deconz.0.Sensors.65.temperature'] = Path + 'buero_temperature';
                                            sensors['deconz.0.Sensors.65.humidity'] = Path + 'buero_luftfeuchte';
                                            
                                            // create data source for NsPanel on script startup
                                            Object.keys(sensors).forEach(async x => {
                                                await generateDateAsync(x, sensors[x]);
                                            });
                                            
                                            // then listen to the sensors and update the data source states accordingly
                                            on({ id: Object.keys(sensors), change: 'any' }, async function (obj) {
                                                if (!obj.id) {
                                                    return;
                                                }
                                            
                                                await generateDateAsync(obj.id, sensors[obj.id]);
                                            });
                                            
                                            async function generateDateAsync(sensorId: string, dataPointId: string) {
                                                const query =[
                                                    'from(bucket: "' + influxDbBucket + '")',
                                                    '|> range(start: -' + numberOfHoursAgo + 'h)',
                                                    '|> filter(fn: (r) => r["_measurement"] == "' + sensorId + '")',
                                                    '|> filter(fn: (r) => r["_field"] == "value")',
                                                    '|> drop(columns: ["from", "ack", "q"])',
                                                    '|> aggregateWindow(every: 1h, fn: last, createEmpty: false)',
                                                    '|> map(fn: (r) => ({ r with _rtime: int(v: r._time) - int(v: r._start)}))',
                                                    '|> yield(name: "_result")'].join('');
                                            
                                                if (Debug) console.log('Query: ' + query);
                                            
                                                const result : any = await sendToAsync(InfluxInstance, 'query', query);
                                                if (result.error) {
                                                    console.error(result.error);
                                                    return;
                                                }
                                                
                                                if (Debug) console.log(result);
                                                const numResults = result.result.length;
                                                let coordinates : string = '';
                                                for (let r = 0; r < numResults; r++) 
                                                {
                                                    const list : string[] = []
                                                    const numValues = result.result[r].length;
                                            
                                                    for (let i = 0; i < numValues; i++) 
                                                    {
                                                        const time = Math.round(result.result[r][i]._rtime/1000/1000/1000/60);
                                                        const value = Math.round(result.result[r][i]._value * 10);
                                                        list.push(time + ":" + value);
                                                    }
                                            
                                                    coordinates = list.join("~");
                                            
                                                    if (Debug) console.log(coordinates);
                                                }
                                            
                                                const ticksAndLabelsList : string[] = []
                                                const date = new Date();
                                                date.setMinutes(0, 0, 0);
                                                const ts = Math.round(date.getTime() / 1000);
                                                const tsYesterday = ts - (numberOfHoursAgo * 3600);
                                                if (Debug) console.log('Iterate from ' + tsYesterday + ' to ' + ts + ' stepsize=' + (xAxisTicksEveryM * 60));
                                                for (let x = tsYesterday, i = 0; x < ts; x += (xAxisTicksEveryM * 60), i += xAxisTicksEveryM)
                                                {
                                                    if ((i % xAxisLabelEveryM))
                                                        ticksAndLabelsList.push('' + i);
                                                    else
                                                    {
                                                        const currentDate = new Date(x * 1000);
                                                        // Hours part from the timestamp
                                                        const hours = "0" + String(currentDate.getHours());
                                                        // Minutes part from the timestamp
                                                        const minutes = "0" + String(currentDate.getMinutes());
                                                        const formattedTime = hours.slice(-2) + ':' + minutes.slice(-2);
                                            
                                                        ticksAndLabelsList.push(String(i) + "^" + formattedTime);
                                                    }
                                                }
                                                if (Debug) console.log('Ticks & Label: ' + ticksAndLabelsList);
                                                if (Debug) console.log('Coordinates: ' + coordinates);
                                                await setOrCreate(dataPointId, ticksAndLabelsList.join("+") + '~' + coordinates, true);
                                            }
                                            
                                            async function setOrCreate(id : string, value : any, ack : boolean) {
                                                if (!(await existsStateAsync(id))) {
                                                     await createStateAsync(id, value, {
                                                        name: id.split('.').reverse()[0],
                                                        desc: 'Sensor Values [~<time>:<value>]*',
                                                        type: 'string',
                                                        role: 'value',
                                                    });
                                                } else {
                                                    await setStateAsync(id, value, ack);
                                                }
                                            }
                                            
                                            Rene55 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            872
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4504773
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo