Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Hilfe für Script mit mehreren Werten gesucht

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.8k

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

Hilfe für Script mit mehreren Werten gesucht

Scheduled Pinned Locked Moved Skripten / Logik
5 Posts 2 Posters 508 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ChaotC Offline
    ChaotC Offline
    Chaot
    wrote on last edited by
    #1

    Ich habe ein Problem das ich irgendwie nicht gelöst bekomme und hoffe es kann mir hier jemand helfen.

    Ich bekomme aus einem Objekt verschiedene Werte geliefert.

    Diese Werte möchte ich jetzt in VIS darstellen. Dazu habe ich gedacht das ich einen Datenpunkt schreiben lasse und dem entsprechend dem Wert eine Zahl zuordne.

    In VIS nehme ich dann ein "image 8" und lese die entsprechenden Zahlen aus.

    Am Ende soll das eine Farbfläche werden die entsprechend der Werte die Farbe ändert.

    Die Werte bewegen sich zwischen 0 und 500.

    Dabei sollen dann folgende Werte eingeteilt werden:

    0-50 = 0

    51-100 = 1

    101-150 = 2

    151-200 = 3

    201-300 = 4

    301-500 = 5

    Mir fällt aber beim besten Willen nichts ein wie ich das realisieren könnte.

    Vielleicht bin ich einfach nur zu alt für den Sch… 😞

    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @Chaot:

      Die Werte bewegen sich zwischen 0 und 500.

      Dabei sollen dann folgende Werte eingeteilt werden:

      0-50 = 0

      51-100 = 1

      101-150 = 2

      151-200 = 3

      201-300 = 4

      301-500 = 5 `

      var y = 0;
      if(x > 50) y = 1;
      if(x > 100) y = 2;
      if(x > 150) y = 3;
      if(x > 200) y = 4;
      if(x > 300) y = 5;
      setState(idFarbe, y, true);
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • ChaotC Offline
        ChaotC Offline
        Chaot
        wrote on last edited by
        #3

        Ich Danke dir ganz herzlich.

        Ich bin was Javasript angeht absoluter Anfänger und renne mit solchen Problemen voll an die Wand.

        Dabei ist es im nachhinein betrachtet ja wirklich simpel :oops:

        Dank deiner Hilfe habe ich jetzt endlich meine Anzeigefläche gebastelt:

        var Luftguete = "javascript.1.Luftguete"/*Luftguete*/;
        var x = getState(Luftguete).val;
        
        var y = 0;
        if(x > 50) y = 1;
        if(x > 100) y = 2;
        if(x > 150) y = 3;
        if(x > 200) y = 4;
        if(x > 300) y = 5;
        setState("javascript.1.Luftqualität"/*Luftqualität*/, y, true);
        

        ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          Wenn dies das ganze Skript ist, solltest Du bedenken, dass die Befehle nur <u>einmal</u> bei Skriptstart ausgeführt werden. Es wird ein Trigger benötigt.

          const Luftguete = "javascript.1.Luftguete"/*Luftguete*/;
          
          function setQualitaet(x) { 
            var y = 0;
            if(x > 50) y = 1;
            if(x > 100) y = 2;
            if(x > 150) y = 3;
            if(x > 200) y = 4;
            if(x > 300) y = 5;
            setState("javascript.1.Luftqualität"/*Luftqualität*/, y, true);
          }
          
          setQualitaet(getState(Luftguete).val); // Skriptstart
          
          on(Luftguete, function(dp) { // triggert bei Wertänderung
            setQualitaet(dp.state.val);
          });
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • ChaotC Offline
            ChaotC Offline
            Chaot
            wrote on last edited by
            #5

            Oh, Danke.

            Das habe ich wirklich nicht bedacht.

            Ich habe mich schon gewundert warum das nicht aktualisiert :oops:

            Hier ist übrigens die ganze Geschichte:

            viewtopic.php?f=21&t=14808&p=156654#p156654

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            277

            Online

            32.4k

            Users

            81.4k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe