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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. VIS -> Allgemein -> Skripte

NEWS

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

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

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

VIS -> Allgemein -> Skripte

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
16 Beiträge 4 Kommentatoren 5.6k Aufrufe 4 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.
  • Karel PuhliK Offline
    Karel PuhliK Offline
    Karel Puhli
    schrieb am zuletzt editiert von Karel Puhli
    #5

    Hi zusammen,

    ich antworte jetzt einfach mal hier mit mehreren Fragen... :-) Passt halt zur Überschrift.

    Ich würde gerne mit meinem hqwidget Checkbox Hue Szenen schalten.

    hqwidgetCheckbox.png

    Hue Szenen lassen sich in diesem Zusammenhang bekanntlich nicht "ausschalten". Daher würde ich gerne den Schalter nach 5 Sekunden wieder auf false springen lassen. Ich habe das jetzt folgendermaßen gelöst. Ich habe einen Datenpunkt erstellt und dazu ein BlocklySkript geschrieben. Das funktioniert auch so. Allerdings finde ich das sehr umständlich. Daher die Frage, wie ich das ganze direkt in der Vis über "Skripte" lösen kann. Vielleicht ohne zusätzliche Datenpunkte / Blocklies. Bin in Sachen JavaScript allerdings noch ganz am Anfang. Die entscheidende Idee fehlt mir noch. Vielleicht habt ihr dazu Lösungen für mich?

    Darüber hinaus habe ich nun folgenden Code in Vis unter Skripte eingefügt.

    on ({
    
    id: "0_userdata.0.Meine_Geräte.Nordlichter",
    
    change: 'ne',
    
    val: true
    },
    
    function(){
    
       setStateDelayed('0_userdata.0.Meine_Geräte.Nordlichter', false, 5000, true);
    
                }
    

    Es tut sich aber nichts. Wenn ich den selben Code im JavaScript Adapter ausführen lasse, funktioniert alles. Wo ist mein Denkfehler?

    Über ein Feedback von Euch wäre ich sehr dankbar!

    Gruß Karel

    1 Antwort Letzte Antwort
    0
    • RöstkartoffelR Röstkartoffel

      @ben1984

      Ich habe zwar keine Glaskugel für dein Problem, da die Infos doch etwas spärlich sind, aber ich würde das mit Binding machen. Dann brauchst du auch kein Skript:

      {v:dein_Datenpunkt;v < 30 ? "#FDEE00" :: v < 60 ? "#FFA500" :: "#FF0000"}
      

      das trägst du einfach im Widget unter "Farbe" ein.

      PS: du siehst das aber nur in der RunTime, nicht im Editor.

      werner2000xW Online
      werner2000xW Online
      werner2000x
      schrieb am zuletzt editiert von
      #6

      @Röstkartoffel Ich habe auch ein Problem mit Scripten.
      Wie kann ich in VIS eine Variable umrechnen so dass ich z.B. eine Temperatur von Kelvin in Grad Celsius anzeigen lasse?14b90591-b874-43c2-8b99-36346f0f59ec-image.png
      Hier im Bild müsste ich von dem Wert 273 abziehen damit der Wert in 18,6 °C angezeigt wird. Ich weiß nicht wie das geht?

      Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
      Innogy Smarthome
      Bosch Bridge 2
      HUE Bridge
      OpenWB Wallbox mit EVU Kit
      Google Nest Pro Hub

      Karel PuhliK 1 Antwort Letzte Antwort
      0
      • werner2000xW werner2000x

        @Röstkartoffel Ich habe auch ein Problem mit Scripten.
        Wie kann ich in VIS eine Variable umrechnen so dass ich z.B. eine Temperatur von Kelvin in Grad Celsius anzeigen lasse?14b90591-b874-43c2-8b99-36346f0f59ec-image.png
        Hier im Bild müsste ich von dem Wert 273 abziehen damit der Wert in 18,6 °C angezeigt wird. Ich weiß nicht wie das geht?

        Karel PuhliK Offline
        Karel PuhliK Offline
        Karel Puhli
        schrieb am zuletzt editiert von Karel Puhli
        #7

        @werner2000x

        var x = getState('Objekt-ID').val -273;
        

        damit könntest du dir z.B. eine Variable x ausgeben lassen.

        werner2000xW 1 Antwort Letzte Antwort
        0
        • Karel PuhliK Karel Puhli

          @werner2000x

          var x = getState('Objekt-ID').val -273;
          

          damit könntest du dir z.B. eine Variable x ausgeben lassen.

          werner2000xW Online
          werner2000xW Online
          werner2000x
          schrieb am zuletzt editiert von
          #8

          @Karel-Puhli said in VIS -> Allgemein -> Skripte:

          var x = getState('Objekt-ID').val -273;

          Danke. Und wie bekomme ich die Variable x nun in VIS?

          Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
          Innogy Smarthome
          Bosch Bridge 2
          HUE Bridge
          OpenWB Wallbox mit EVU Kit
          Google Nest Pro Hub

          Karel PuhliK 1 Antwort Letzte Antwort
          0
          • werner2000xW werner2000x

            @Karel-Puhli said in VIS -> Allgemein -> Skripte:

            var x = getState('Objekt-ID').val -273;

            Danke. Und wie bekomme ich die Variable x nun in VIS?

            Karel PuhliK Offline
            Karel PuhliK Offline
            Karel Puhli
            schrieb am zuletzt editiert von
            #9

            @werner2000x

            Vorschlag:
            Du legst dir einen neuen Datenpunkt an (hier: "deinneuerDatenpunkt"). Baust dir ein Blockly oder folgendes JavaScript.

            on({id: "deinThermometer", change: "any"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true);
            });
            

            Dann noch dein Vis Widget auf deinen neuen Datenpunkt zugreifen lassen, nicht mehr auf das "alte" Thermometer.

            werner2000xW 1 Antwort Letzte Antwort
            0
            • Karel PuhliK Karel Puhli

              @werner2000x

              Vorschlag:
              Du legst dir einen neuen Datenpunkt an (hier: "deinneuerDatenpunkt"). Baust dir ein Blockly oder folgendes JavaScript.

              on({id: "deinThermometer", change: "any"}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true);
              });
              

              Dann noch dein Vis Widget auf deinen neuen Datenpunkt zugreifen lassen, nicht mehr auf das "alte" Thermometer.

              werner2000xW Online
              werner2000xW Online
              werner2000x
              schrieb am zuletzt editiert von
              #10

              @Karel-Puhli said in VIS -> Allgemein -> Skripte:

                                                                                                                                          on({id: "deinThermometer", change: "any"}, async function (obj) {                                                                                                                                                                              var value = obj.state.val;                                                                                                                                                                              var oldValue = obj.oldState.val;                                                                                                                                                                              setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true);                                                                                                                                                                            });                                            
              

              Das klappt leider auch noch nicht:
              78433d03-83c4-4a3e-9764-0122b913c52a-image.png
              Die Variable "Temperatur" steht nirgends in den VIS Objekten und es kommt eine Klammerfehlermeldung.

              Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
              Innogy Smarthome
              Bosch Bridge 2
              HUE Bridge
              OpenWB Wallbox mit EVU Kit
              Google Nest Pro Hub

              werner2000xW 1 Antwort Letzte Antwort
              0
              • werner2000xW werner2000x

                @Karel-Puhli said in VIS -> Allgemein -> Skripte:

                                                                                                                                            on({id: "deinThermometer", change: "any"}, async function (obj) {                                                                                                                                                                              var value = obj.state.val;                                                                                                                                                                              var oldValue = obj.oldState.val;                                                                                                                                                                              setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true);                                                                                                                                                                            });                                            
                

                Das klappt leider auch noch nicht:
                78433d03-83c4-4a3e-9764-0122b913c52a-image.png
                Die Variable "Temperatur" steht nirgends in den VIS Objekten und es kommt eine Klammerfehlermeldung.

                werner2000xW Online
                werner2000xW Online
                werner2000x
                schrieb am zuletzt editiert von werner2000x
                #11

                @werner2000x said in VIS -> Allgemein -> Skripte:

                on({id: "deinThermometer", change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true); });

                Jetzt habe ich die Variable gefunden in Javascipt.0
                a021f217-2f27-4261-bbb8-2f5b15d38d52-image.png

                Das Script sieht jetzt so aus:
                on({id: "vw-connect.0.WVGZZZ5NZHW882376.status.data07.field01.value", change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("scriptEnabled.common.Temperatur", ((obj.state ? obj.state.val : "") - 273), true); });

                läuft aber noch nicht s.Bild;
                36917eca-412d-4664-b019-87b9768aa25c-image.png

                Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                Innogy Smarthome
                Bosch Bridge 2
                HUE Bridge
                OpenWB Wallbox mit EVU Kit
                Google Nest Pro Hub

                werner2000xW 1 Antwort Letzte Antwort
                0
                • werner2000xW werner2000x

                  @werner2000x said in VIS -> Allgemein -> Skripte:

                  on({id: "deinThermometer", change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deinneuerDatenpunkt", ((obj.state ? obj.state.val : "") - 273), true); });

                  Jetzt habe ich die Variable gefunden in Javascipt.0
                  a021f217-2f27-4261-bbb8-2f5b15d38d52-image.png

                  Das Script sieht jetzt so aus:
                  on({id: "vw-connect.0.WVGZZZ5NZHW882376.status.data07.field01.value", change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("scriptEnabled.common.Temperatur", ((obj.state ? obj.state.val : "") - 273), true); });

                  läuft aber noch nicht s.Bild;
                  36917eca-412d-4664-b019-87b9768aa25c-image.png

                  werner2000xW Online
                  werner2000xW Online
                  werner2000x
                  schrieb am zuletzt editiert von
                  #12

                  @werner2000x
                  oder hier ein neuer Versuch:
                  12e38397-d261-4b10-8bc1-bfedd6a44c75-image.png

                  Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                  Innogy Smarthome
                  Bosch Bridge 2
                  HUE Bridge
                  OpenWB Wallbox mit EVU Kit
                  Google Nest Pro Hub

                  Karel PuhliK 1 Antwort Letzte Antwort
                  0
                  • werner2000xW werner2000x

                    @werner2000x
                    oder hier ein neuer Versuch:
                    12e38397-d261-4b10-8bc1-bfedd6a44c75-image.png

                    Karel PuhliK Offline
                    Karel PuhliK Offline
                    Karel Puhli
                    schrieb am zuletzt editiert von Karel Puhli
                    #13

                    @werner2000x

                    Das Skript ist nicht für den Reiter Skripte in VIS, sondern für deine Skripte im JS Adapter.

                    Hast du denn mal im VW Connect Adapter geschaut? Kannst du dort nicht die Einheit in Celsius ändern?

                    werner2000xW 1 Antwort Letzte Antwort
                    0
                    • Karel PuhliK Karel Puhli

                      @werner2000x

                      Das Skript ist nicht für den Reiter Skripte in VIS, sondern für deine Skripte im JS Adapter.

                      Hast du denn mal im VW Connect Adapter geschaut? Kannst du dort nicht die Einheit in Celsius ändern?

                      werner2000xW Online
                      werner2000xW Online
                      werner2000x
                      schrieb am zuletzt editiert von
                      #14

                      @Karel-Puhli Ok, das wusste ich nicht.
                      Habe das Skript nun in IOBroker gebracht - trotzdem Fehler:
                      edb23149-3924-40f9-9e24-e40db6491d3a-image.png

                      Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                      Innogy Smarthome
                      Bosch Bridge 2
                      HUE Bridge
                      OpenWB Wallbox mit EVU Kit
                      Google Nest Pro Hub

                      Karel PuhliK 1 Antwort Letzte Antwort
                      0
                      • werner2000xW werner2000x

                        @Karel-Puhli Ok, das wusste ich nicht.
                        Habe das Skript nun in IOBroker gebracht - trotzdem Fehler:
                        edb23149-3924-40f9-9e24-e40db6491d3a-image.png

                        Karel PuhliK Offline
                        Karel PuhliK Offline
                        Karel Puhli
                        schrieb am zuletzt editiert von Karel Puhli
                        #15

                        @werner2000x

                        Schick mal einen kompletten Code vom JS oder einen Screenshot. Steht bei dir alles in einer Zeile (sieht oben so aus, nur Zeile 1)? Womöglich beim Kopieren einen Dreher drin?

                        Der Datenpunkt ist korrekt angelegt? Als Zahl? min -50 max 100? Also für gängige Temperaturen?

                        Am bestern da auch nochmal einen Screenshot.

                        werner2000xW 1 Antwort Letzte Antwort
                        0
                        • Karel PuhliK Karel Puhli

                          @werner2000x

                          Schick mal einen kompletten Code vom JS oder einen Screenshot. Steht bei dir alles in einer Zeile (sieht oben so aus, nur Zeile 1)? Womöglich beim Kopieren einen Dreher drin?

                          Der Datenpunkt ist korrekt angelegt? Als Zahl? min -50 max 100? Also für gängige Temperaturen?

                          Am bestern da auch nochmal einen Screenshot.

                          werner2000xW Online
                          werner2000xW Online
                          werner2000x
                          schrieb am zuletzt editiert von
                          #16

                          @Karel-Puhli Danke für das Angebot.
                          Die Temperatur liegt als dK, also dezi Kelvin vor - hier ist der Werte jetzt 2861.
                          Wenn man den Wert durch zehn teilt und 273 abzieht hat man den richtigen Wert, also 13,1 °C.
                          Die Temperatur ist konstant, der Wert ändert sich also nicht. Nur wenn das Fahrzeug fährt. Jetzt steht es.

                          Raspi4 8 GB mit Aqara Zigbee USB, iob und PI-hole
                          Innogy Smarthome
                          Bosch Bridge 2
                          HUE Bridge
                          OpenWB Wallbox mit EVU Kit
                          Google Nest Pro Hub

                          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

                          848

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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