Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [gelöst]-Wie kann man ein Objekt von VIS Script lesen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    350

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    313

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    932

[gelöst]-Wie kann man ein Objekt von VIS Script lesen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
5 Beiträge 3 Kommentatoren 552 Aufrufe 3 Beobachtet
  • Ä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.
  • B Offline
    B Offline
    BitCoder
    schrieb am zuletzt editiert von BitCoder
    #1

    Ich versuche bereits seit Tage herauszufinden, wie ich ein Objektstatus aus einem VIS Script lesen kann. Es gibt ja die Funktion vis.SetValue. Nun suche ich etwas in der Art vis.GetValue. Zur Klarstellung. Ich spreche nicht vom Javascript-Adapter. Hat jemand eine Idee oder hat das schon hinbekommen?

    arteckA liv-in-skyL 2 Antworten Letzte Antwort
    0
    • B BitCoder

      Ich versuche bereits seit Tage herauszufinden, wie ich ein Objektstatus aus einem VIS Script lesen kann. Es gibt ja die Funktion vis.SetValue. Nun suche ich etwas in der Art vis.GetValue. Zur Klarstellung. Ich spreche nicht vom Javascript-Adapter. Hat jemand eine Idee oder hat das schon hinbekommen?

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @bitcoder was hast du vor ??

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • B BitCoder

        Ich versuche bereits seit Tage herauszufinden, wie ich ein Objektstatus aus einem VIS Script lesen kann. Es gibt ja die Funktion vis.SetValue. Nun suche ich etwas in der Art vis.GetValue. Zur Klarstellung. Ich spreche nicht vom Javascript-Adapter. Hat jemand eine Idee oder hat das schon hinbekommen?

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von liv-in-sky
        #3

        @bitcoder z.b.

        vis.servConn.getStates(['0_userdata.0.CONTROL-OWN.ECHO8.Echo2Player-PP',
                              'javascript.0.YouTube.whichDevice'], (error, states) => {
                                  console.log(states['0_userdata.0.CONTROL-OWN.ECHO8.Echo2Player-PP'].val);                                         
                                  console.log(states['javascript.0.YouTube.whichDevice'].val)})
        

        oder wenn der dp schon in dem vis-project genutzt wird und somit in der vis bekannt ist:

        var myRunningDevice1=vis.states.attr('javascript.0.YouTube.whichDevice.val');
        
         " javascript.0.YouTube.whichDevice " muss z.b in einem anderen widget genutzt werden z.b. über binding {javascript.0.YouTube.whichDevice}
        

        oder über simple api abfrage:

        // über simple-api: 
        $.get( "http://192.168.178.59:8087/get/0_userdata.0.CONTROL-OWN.AAATEST.TestLogic3", function( data ) {
          console.log( "Data Loaded: " + data.val );
          console.log( "Data Loaded: " + data.lc )
        });
        

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        B 1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @bitcoder z.b.

          vis.servConn.getStates(['0_userdata.0.CONTROL-OWN.ECHO8.Echo2Player-PP',
                                'javascript.0.YouTube.whichDevice'], (error, states) => {
                                    console.log(states['0_userdata.0.CONTROL-OWN.ECHO8.Echo2Player-PP'].val);                                         
                                    console.log(states['javascript.0.YouTube.whichDevice'].val)})
          

          oder wenn der dp schon in dem vis-project genutzt wird und somit in der vis bekannt ist:

          var myRunningDevice1=vis.states.attr('javascript.0.YouTube.whichDevice.val');
          
           " javascript.0.YouTube.whichDevice " muss z.b in einem anderen widget genutzt werden z.b. über binding {javascript.0.YouTube.whichDevice}
          

          oder über simple api abfrage:

          // über simple-api: 
          $.get( "http://192.168.178.59:8087/get/0_userdata.0.CONTROL-OWN.AAATEST.TestLogic3", function( data ) {
            console.log( "Data Loaded: " + data.val );
            console.log( "Data Loaded: " + data.lc )
          });
          
          B Offline
          B Offline
          BitCoder
          schrieb am zuletzt editiert von
          #4

          Ich möchte den Zustand oder einen Wert von einem Homematic-Gerät via alias auslesen. Dieser Wert dient anschliessend als Vorgabewert bei der nächsten Einschaltung des Geräts. Hier ein Dimmer.
          Wow, danke schon mal für Eure raschen Antworten.

          B 1 Antwort Letzte Antwort
          0
          • B BitCoder

            Ich möchte den Zustand oder einen Wert von einem Homematic-Gerät via alias auslesen. Dieser Wert dient anschliessend als Vorgabewert bei der nächsten Einschaltung des Geräts. Hier ein Dimmer.
            Wow, danke schon mal für Eure raschen Antworten.

            B Offline
            B Offline
            BitCoder
            schrieb am zuletzt editiert von BitCoder
            #5

            @liv-in-sky
            Hallo liv-in-sky
            Meine Antwort hat ein wenig länger gedauert.
            Danke für die Codefragmente. Die haben mich auf den richtigen Pfad gebracht. Hier ist nun der Code, wie ich das umgesetzt habe. Wichtig war mir, dass die Abfrage synchron abgehandelt wird. Dabei gilt es zu beachten, dass alle übergeordneten Funktionen ebenfalls mit sync deklariert sind.

            Hier die Funktion GetState

            async function GetState (strDataPoint, oDPValue) {
                return await new Promise((resolve, reject) => {
                    window.servConn.getStates([strDataPoint], (error, states) => {
                        console.log(++iStepCount+": 1. oDPValue.iVal = " + oDPValue.iVal);    
            
                        oDP = states[strDataPoint]; 
                        if (oDP !== null)
                        {
                            resolve(oDPValue.iVal = states[strDataPoint].val);
                        }
                        else
                        {
                            reject(Error("The specified data point does not exist! DP: "
                                         + strDataPoint));                
                        }
                        
                        console.log(++iStepCount+": 2. oDPValue.iVal = " + oDPValue.iVal);
                    });
                });
            }
            

            Und hier der Aufruf im Code.

            async function dcmbInit (id, dcmbDefinition, strDeviceAddress)
            {
                 /* exp. 'alias.0.Gang_OG.Deckenspots.Lichtstärke.val' */
                console.log("strDeviceAddress = " + strDeviceAddress);
            
                if (strDeviceAddress !== undefined && strDeviceAddress !== null)
                {
                    oValue = { iVal: 0 };
                    await GetState(strDeviceAddress + ".Lichtstärke", oValue);
                    console.log("dcmbInit: iValue = " + oValue.iVal);
                }
                return false;        
            }
            
            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            363

            Online

            32.8k

            Benutzer

            82.8k

            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