Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. msuilmann

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 19
    • Best 1
    • Groups 1

    msuilmann

    @msuilmann

    Starter

    1
    Reputation
    7
    Profile views
    19
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    msuilmann Follow
    Starter

    Best posts made by msuilmann

    • RE: nspanel script: state im alias bleibt 0

      @tt-tom

      hier nochmal das Ergebnis vom log:

      javascript.0
      2023-04-03 21:30:03.740	info	script.js.NSPanel.Muell_JS: Bio = true
      
      javascript.0
      2023-04-03 21:30:03.740	info	script.js.NSPanel.Muell_JS: Event2 = %Bioabfallbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.739	info	script.js.NSPanel.Muell_JS: Wert = true
      
      javascript.0
      2023-04-03 21:30:03.739	info	script.js.NSPanel.Muell_JS: Event2 = %Wertstoffbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.738	info	script.js.NSPanel.Muell_JS: Rest = true
      
      javascript.0
      2023-04-03 21:30:03.738	info	script.js.NSPanel.Muell_JS: Event2 = %Restabfallbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.737	info	script.js.NSPanel.Muell_JS: Papier = true
      
      javascript.0
      2023-04-03 21:30:03.735	info	script.js.NSPanel.Muell_JS: Event2 = %Papierbehaelter %
      
      posted in JavaScript
      M
      msuilmann

    Latest posts made by msuilmann

    • RE: nspanel script: state im alias bleibt 0

      @tt-tom

      hier nochmal das Ergebnis vom log:

      javascript.0
      2023-04-03 21:30:03.740	info	script.js.NSPanel.Muell_JS: Bio = true
      
      javascript.0
      2023-04-03 21:30:03.740	info	script.js.NSPanel.Muell_JS: Event2 = %Bioabfallbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.739	info	script.js.NSPanel.Muell_JS: Wert = true
      
      javascript.0
      2023-04-03 21:30:03.739	info	script.js.NSPanel.Muell_JS: Event2 = %Wertstoffbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.738	info	script.js.NSPanel.Muell_JS: Rest = true
      
      javascript.0
      2023-04-03 21:30:03.738	info	script.js.NSPanel.Muell_JS: Event2 = %Restabfallbehaelter %
      
      javascript.0
      2023-04-03 21:30:03.737	info	script.js.NSPanel.Muell_JS: Papier = true
      
      javascript.0
      2023-04-03 21:30:03.735	info	script.js.NSPanel.Muell_JS: Event2 = %Papierbehaelter %
      
      posted in JavaScript
      M
      msuilmann
    • RE: nspanel script: state im alias bleibt 0

      @tt-tom said in nspanel script: state im alias bleibt 0:

      console.log('Event2 = %' + Event2 + '%' )

      Du hast recht, der emsländische Abfallkalender hat als Besonderheit ein Leerzeichen hinter dem Namen 🙄 🙄
      Oh Mann, Danke für den Hinweis, da wäre ich NIE drauf gekommen!

      Beste Grüße Matthias

      posted in JavaScript
      M
      msuilmann
    • RE: nspanel script: state im alias bleibt 0

      @tt-tom

      console.log('Event2 = ' + Event2);
      console.log('ID = ' + idRestmuellName);
      console.log('ID = ' + idBioabfaelleName);
      console.log('ID = ' + idPappePapierName);
      console.log('ID = ' + idWertstoffName);
      
      javascript.0
      2023-04-01 21:30:03.723 info script.js.NSPanel.Muell_JS: ID = Wertstoffbehaelter
      
      javascript.0
      2023-04-01 21:30:03.723 info script.js.NSPanel.Muell_JS: ID = Papierbehaelter
      
      javascript.0
      2023-04-01 21:30:03.722 info script.js.NSPanel.Muell_JS: ID = Bioabfallbehaelter
      
      javascript.0
      2023-04-01 21:30:03.722 info script.js.NSPanel.Muell_JS: ID = Restabfallbehaelter
      
      javascript.0
      2023-04-01 21:30:03.721 info script.js.NSPanel.Muell_JS: Event2 = Papierbehaelter
      
      const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
      const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
      const idRestmuellName ='Restabfallbehaelter'; // Schwarze Tonne
      const idWertstoffName = 'Wertstoffbehaelter'; // Gelbe Tonne / Sack
      const idPappePapierName = 'Papierbehaelter'; // Blaue Tonne
      const idBioabfaelleName = 'Bioabfallbehaelter'; // Braune Tonne
      
      var i, Muell_JSON, Event2, Color = 0;
      
      for (i = 1; i <= 4; i++) {
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
      log(i + '.date nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
      {
      name: parseFloat(i) + '.date',
      role: 'state',
      type: 'string',
      read: true,
      write: true,
      def: ''
      });
      };
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
      log(i + '.event nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
      {
      name: parseFloat(i) + '.event',
      role: 'state',
      type: 'string',
      read: true,
      write: true,
      def: ''
      });
      };
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
      log(i + '.color nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 31,
      {
      name: parseFloat(i) + '.color',
      role: 'state',
      type: 'number',
      read: true,
      write: true,
      def: 0
      });
      };
      }
      
      function subsequenceFromStartLast(sequence, at1) {
      var start = at1;
      var end = sequence.length;
      return sequence.slice(start, end);
      }
      
      on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {
      
      for (i = 0; i <= 3; i++) {
          Muell_JSON = getState(idAbfalliCal + '.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')), idZeichenLoeschen);
        
          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
          console.log('Event2 = ' + Event2);
          console.log('ID = ' + idRestmuellName);
          console.log('ID = ' + idBioabfaelleName);
          console.log('ID = ' + idPappePapierName);
          console.log('ID = ' + idWertstoffName);
          if (Event2 == idRestmuellName) {
              Color = 33840;
              console.log ('Rest = true');
          } else if (Event2 == idBioabfaelleName) {
              Color = 2016;
              console.log ('Bio = true');
          } else if (Event2 == idPappePapierName) {
              Color = 31;
              console.log ('Papier = true');
          } else if (Event2 == idWertstoffName) {
              Color = 65504;
              console.log ('Wert = true');
          }
          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
      }
      });
      
      

      Ich hoffe, dass es nun richtig ist.
      Gruß Matthias

      posted in JavaScript
      M
      msuilmann
    • RE: nspanel script: state im alias bleibt 0

      @msuilmann Sehe gerade, dass ich ja von unten nach oben lesen mus,
      also passt die Anzeige

      posted in JavaScript
      M
      msuilmann
    • RE: nspanel script: state im alias bleibt 0

      @tt-tom said in nspanel script: state im alias bleibt 0:

      console.log(idRestmuellName);

      Hallo Tom,
      ich habe jetzt mal in das script die folgenden log-Befehle eingegeben:
      console.log('Event2 = ' + Event2);
      console.log('ID = ' + idRestmuellName);
      console.log('ID = ' + idBioabfaelleName);
      console.log('ID = ' + idPappePapierName);
      console.log('ID = ' + idWertstoffName);

      Das ist das Ergebnis in der log-Datei:
      javascript.0
      2023-04-01 21:30:03.730 info script.js.NSPanel.Muell_JS: ID = Wertstoffbehaelter

      javascript.0
      2023-04-01 21:30:03.729 info script.js.NSPanel.Muell_JS: ID = Papierbehaelter

      javascript.0
      2023-04-01 21:30:03.729 info script.js.NSPanel.Muell_JS: ID = Bioabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.729 info script.js.NSPanel.Muell_JS: ID = Restabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.729 info script.js.NSPanel.Muell_JS: Event2 = Bioabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.728 info script.js.NSPanel.Muell_JS: ID = Wertstoffbehaelter

      javascript.0
      2023-04-01 21:30:03.727 info script.js.NSPanel.Muell_JS: ID = Papierbehaelter

      javascript.0
      2023-04-01 21:30:03.727 info script.js.NSPanel.Muell_JS: ID = Bioabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.727 info script.js.NSPanel.Muell_JS: ID = Restabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.727 info script.js.NSPanel.Muell_JS: Event2 = Wertstoffbehaelter

      javascript.0
      2023-04-01 21:30:03.726 info script.js.NSPanel.Muell_JS: ID = Wertstoffbehaelter

      javascript.0
      2023-04-01 21:30:03.726 info script.js.NSPanel.Muell_JS: ID = Papierbehaelter

      javascript.0
      2023-04-01 21:30:03.725 info script.js.NSPanel.Muell_JS: ID = Bioabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.725 info script.js.NSPanel.Muell_JS: ID = Restabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.725 info script.js.NSPanel.Muell_JS: Event2 = Restabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.723 info script.js.NSPanel.Muell_JS: ID = Wertstoffbehaelter

      javascript.0
      2023-04-01 21:30:03.723 info script.js.NSPanel.Muell_JS: ID = Papierbehaelter

      javascript.0
      2023-04-01 21:30:03.722 info script.js.NSPanel.Muell_JS: ID = Bioabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.722 info script.js.NSPanel.Muell_JS: ID = Restabfallbehaelter

      javascript.0
      2023-04-01 21:30:03.721 info script.js.NSPanel.Muell_JS: Event2 = Papierbehaelter

      Es sieht so aus, als ob bei der ersten event2-Abfrage der string leer ist.

      Hier jetzt mal das script:

      const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
      const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
      const idRestmuellName ='Restabfallbehaelter'; // Schwarze Tonne
      const idWertstoffName = 'Wertstoffbehaelter'; // Gelbe Tonne / Sack
      const idPappePapierName = 'Papierbehaelter'; // Blaue Tonne
      const idBioabfaelleName = 'Bioabfallbehaelter'; // Braune Tonne

      var i, Muell_JSON, Event2, Color = 0;

      for (i = 1; i <= 4; i++) {
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
      log(i + '.date nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
      {
      name: parseFloat(i) + '.date',
      role: 'state',
      type: 'string',
      read: true,
      write: true,
      def: ''
      });
      };
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
      log(i + '.event nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
      {
      name: parseFloat(i) + '.event',
      role: 'state',
      type: 'string',
      read: true,
      write: true,
      def: ''
      });
      };
      if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
      log(i + '.color nicht vorhanden, wurde erstellt');
      createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 31,
      {
      name: parseFloat(i) + '.color',
      role: 'state',
      type: 'number',
      read: true,
      write: true,
      def: 0
      });
      };
      }

      function subsequenceFromStartLast(sequence, at1) {
      var start = at1;
      var end = sequence.length;
      return sequence.slice(start, end);
      }

      on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {

      for (i = 0; i <= 3; i++) {
          Muell_JSON = getState(idAbfalliCal + '.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')), idZeichenLoeschen);
        
          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
          console.log('Event2 = ' + Event2);
          console.log('ID = ' + idRestmuellName);
          console.log('ID = ' + idBioabfaelleName);
          console.log('ID = ' + idPappePapierName);
          console.log('ID = ' + idWertstoffName);
          if (Event2 == idRestmuellName) {
              Color = 33840;
              console.log ('Rest = true');
          } else if (Event2 == idBioabfaelleName) {
              Color = 2016;
              console.log ('Bio = true');
          } else if (Event2 == idPappePapierName) {
              Color = 31;
              console.log ('Papier = true');
          } else if (Event2 == idWertstoffName) {
              Color = 65504;
              console.log ('Wert = true');
          }
          setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
      }
      

      });

      posted in JavaScript
      M
      msuilmann
    • nspanel script: state im alias bleibt 0

      Hallo Schwarmwissen,

      das ts-script für den Müllkalender für das nspanel läuft fehlerfrei, die Werte für das Datum und den Behältertyp werden im alias übernommen.
      Nur die Farbe bleibt im alias auf 0.

      hier die Objektdaten für color in userdata:
      {
      "common": {
      "name": "color",
      "desc": "Manuell erzeugt",
      "role": "state",
      "type": "number",
      "read": true,
      "write": true,
      "def": 0
      },
      "type": "state",
      "native": {},
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1669308868460,
      "_id": "0_userdata.0.Abfallkalender.1.color",
      "acl": {
      "object": 1636,
      "state": 1636,
      "owner": "system.user.admin",
      "ownerGroup": "system.group.administrator"
      }
      }

      und hier die Objektdaten im alias folder:
      {
      "_id": "alias.0.NSPanel.Abfall.event1.LEVEL",
      "common": {
      "name": "LEVEL",
      "role": "value.warning",
      "type": "number",
      "read": true,
      "write": true,
      "alias": {
      "id": "0_userdata.0.Abfallkalender.1.color"
      }
      },
      "native": {},
      "type": "state",
      "acl": {
      "object": 1636,
      "state": 1636,
      "owner": "system.user.admin",
      "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1679861120927
      }

      warum bleibt der Wert im Objekt auf 0?

      posted in JavaScript
      M
      msuilmann
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar Da lag das Problem mal wieder zwischen den Ohren 😉

      posted in Hardware
      M
      msuilmann
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar Ich habe das script ausprobieren wollen und bekomme eine riesige Compiler Fehlermeldung beginnend mit:
      javascript.0 (31811) script.js.Panel: TypeScript compilation failed: await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type:

      posted in Hardware
      M
      msuilmann
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar DAS war der entscheidende Tip!
      Tausend Dank!
      Ich nutze den MQTT-Adapter im Server-Mode, habe überall die Bezeichner gleich gesetzt und jetzt ist die direkte Verbindung da:
      3a1f9bfc-67b0-4692-b5c4-479c4dd9ef9e-grafik.png

      posted in Hardware
      M
      msuilmann
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar Das hat auch nichts gebracht.
      Dann sollte ich mal den mosquitto löschen und die Server-Variante mit dem Adapter proboeren.

      posted in Hardware
      M
      msuilmann
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo