Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Akuu zustand meldung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Akuu zustand meldung

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stephan61 last edited by

      Hallo ich mochte von meinem Tablett über tasker und pushbullet den Akkuzustand an io Broker übermitteln

      Habe folgendes Script aber es st mir die variable nicht

      createState('tablett.zustand','0');
      
      on("pushbullet.0.push.payload"/*Content of Push*/, function() {
      
      var zustand = getState("pushbullet.0.push.payload"/*Content of Push*/).val;
      log ( zustand);
      if ( getState("pushbullet.0.push.payload"/*Content of Push*/).val=== 100); 
      setState ('javascript.0.tablett.zustand', true ); 
      log (zustand + "ein");
      if  ( getState("pushbullet.0.push.payload"/*Content of Push*/).val=== 0); 
      setState ('javascript.0.tablett.zustand', false );
      log ( zustand + "aus");
      });
      

      im log

      kommt

      javascript.0 2015-10-24 16:38:18 info javascript.0 script.js._pushbulllet_auswerten: 0aus

      javascript.0 2015-10-24 16:38:18 info javascript.0 script.js._pushbulllet_auswerten: 0ein

      javascript.0 2015-10-24 16:38:18 info javascript.0 script.js._pushbulllet_auswerten: 0

      wo ist mein Fehler ?

      Gruß Stephan

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo Stephan

        versuch mal so:

        createState('tablett.zustand','0');
        
        on("pushbullet.0.push.payload"/*Content of Push*/, function(data) {
            var zustand = data.newState.val,
                einaus = "";
            if (zustand === 100 || zustand == '100') { // kommt als Zahl oder als String
                setState ('javascript.0.tablett.zustand', true ); 
                einaus = 'ein';
            } else if (zustand === 0 || zustand == '0') {
                setState ('javascript.0.tablett.zustand', false );
                einaus = 'aus';
            }
            log('Tablet-Zustand: ' + zustand + ' /  ' + einaus);
        });
        
        

        Gruß,

        Pix

        1 Reply Last reply Reply Quote 0
        • S
          stephan61 last edited by

          Hallo Pix

          das Script funktioniert Danke

          ich habe dazu einige Fragen um Javascript zu verstehen :?:

          1. manche Einträge sin mit ' ' und andere mit " " eingebunden macht das einen Unterschied ?

          2. und die Klammern ( ) und { } haben die unterschiedliche aufgaben oder dienen die zum besseren übersicht was zu was gehört

          3 bei zustand steht einmal === 100 und einmal =='100' muss das so sein

          und 4. ein String ist doch einen Zeichenkette kann eine Zahl auch ein String sein?

          Entschuldige für die Fragen aber ich möchte auch verstehen was ich mache und nicht nur

          Zeilen aus verschieden scripten kopieren und hoffen das es geht.

          Vielen Dank im Voraus

          Stephan

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo stephan,

            um Javascript zu lernen, helfen solche Seiten wie

            http://www.w3schools.com/js/default.asp oder http://www.mediaevent.de. Dort werden auch die einzelnen Befehle gut erklärt.

            @stephan61:

            1. manche Einträge sin mit ' ' und andere mit " " eingebunden macht das einen Unterschied ? `
            Kein Unterschied. Nur mischen geht nicht.

            @stephan61:

            2. und die Klammern ( ) und { } haben die unterschiedliche aufgaben oder dienen die zum besseren übersicht was zu was gehört `
            Ja, die haben unterschiedliche Aufgaben. Die Maschine braucht keine Übersichtlichkeit, die brauchen nur wir Menschen :lol:

            { } wird zum Beispiel nach If Abfragen verwendet. Alles,w as in den Klammern steht, soll ausgeführt werden.

            @stephan61:

            3 bei zustand steht einmal === 100 und einmal =='100' muss das so sein `
            Ja, das soll so sein.

            Wenn bekannt ist, dass der Zustand eine Zahl ist, der Typ also bekannt ist, dann ===

            Wenn der Zustand ein String ist, dann 'Zustand'

            Wenn man nicht sicher ist, dann beide und mit einem ODER verbunden. Das Zeichen für oder ist ||

            @stephan61:

            4. ein String ist doch einen Zeichenkette kann eine Zahl auch ein String sein? `
            String ist das englische Wort für Zeichenkette. Eine Zahl kann in einen String gewandelt werden. Zum Beispiel für die Sprachausgabe. Sayit würde zu "100.00" "hundertpunktnullnull" sagen. Das wandelt man um lässt die Dezimalstellen weg oder ersetzt Punkt durch Komma.

            Andersherum kann man aus einem String eine Zahl machen. Zum Beispiel kann man in einem String eine Zahl suchen (zum Beispiel Straße + Hausnummer). Die Befehle stehen alle auf den o.g. Seiten.

            Ich bin anfangs oft über die ABkürzungen im Code gestolpert. Ein Beispiel:

            if (zustand) { log('Zustand ist wahr');}
            if (!zustand) { log('Zustand ist ungleich wahr');
            
            

            ist die Kurzform von

            if (zustand == true) { log('Zustand ist wahr'');
            if (zustand != true) { log('Zustand ist ungleich wahr'');
            

            Auch dazu findest du Infos unter "Kurzschreibweise" "Javascript" im Netz.

            Achte im Skripteditor des Javascript-Adapters immer auf die Ausrufezeichen und Fehlermeldungen am linken Rand. Sie geben dir einen Hinweis, wonach du suchen musst (mit dem Mauszeiger drüber fahren).

            Gruß

            Pix

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            698
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            2
            4
            1103
            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