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. Skripten / Logik
  4. Blockly
  5. Wie Werte in eine Blockly Funktion übergeben?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Wie Werte in eine Blockly Funktion übergeben?

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklymonitoring
10 Beiträge 2 Kommentatoren 1.4k Aufrufe 1 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.
  • HomoranH Offline
    HomoranH Offline
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #1

    Ich versuche mich gerade weiter in Javascript hereinzuknien (natürlich mithilfe von Blockly)

    Habe schon schmerzlich einen "Parser Block" so wie: [parse (TEXT) mit RegEx() an Pos()] vermisst, aber geht nicht gibt's nicht.

    Da es bei mir immer nach "geht nicht gibt's nicht" läuft habe ich hier ein ziemlich aufwändiges Konstrukt gebastelt:
    https://forum.iobroker.net/assets/uploads/files/1577838362266-sensemap-blockly.txt

    oder hier als js-Export:

    var URL2, Station, SensemapJson, result, JSON2, Anfang, Ende, Param1, Unit1, Sensor1, Wert1, Param2, Unit2, Sensor2, Wert2, Param3, Unit3, Sensor3, Wert3, Param4, Unit4, Sensor4, Wert4, Param5, Unit5, Sensor5, Wert5;
    
    
    URL2 = 'https://api.opensensemap.org/boxes/' + String(Station);
    schedule("*/10 * * * *", function () {
     try {
       require("request")(URL2, function (error, response, result) {
         SensemapJson = result;
       setState("0_userdata.0.Umwelt.Feinstaub_JSON"/*Feinstaub_JSON*/, SensemapJson, true);
       JSON2 = SensemapJson;
       Anfang = JSON2.indexOf('tle":"') + 1;
       JSON2 = JSON2.slice(((Anfang - 7) - 1), 100000);
       Anfang = JSON2.indexOf('tle":"') + 1;
       Ende = JSON2.indexOf('","uni') + 1;
       Param1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('nit":"') + 1;
       Ende = JSON2.indexOf('","sen') + 1;
       Unit1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('Type":"') + 1;
       Ende = JSON2.indexOf('","ico') + 1;
       Sensor1 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
       Anfang = JSON2.indexOf('lue":"') + 1;
       Ende = JSON2.indexOf('","cre') + 1;
       Wert1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
       Anfang = JSON2.indexOf('tle":"') + 1;
       Ende = JSON2.indexOf('","uni') + 1;
       Param2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('nit":"') + 1;
       Ende = JSON2.indexOf('","sen') + 1;
       Unit2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('Type":"') + 1;
       Ende = JSON2.indexOf('","ico') + 1;
       Sensor2 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
       Anfang = JSON2.indexOf('lue":"') + 1;
       Ende = JSON2.indexOf('","cre') + 1;
       Wert2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
       Anfang = JSON2.indexOf('tle":"') + 1;
       Ende = JSON2.indexOf('","uni') + 1;
       Param3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('nit":"') + 1;
       Ende = JSON2.indexOf('","sen') + 1;
       Unit3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('Type":"') + 1;
       Ende = JSON2.indexOf('","ico') + 1;
       Sensor3 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
       Anfang = JSON2.indexOf('lue":"') + 1;
       Ende = JSON2.indexOf('","cre') + 1;
       Wert3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       JSON2 = JSON2.slice(((Ende + 33) - 1), 100000);
       Anfang = JSON2.indexOf('tle":"') + 1;
       Ende = JSON2.indexOf('","uni') + 1;
       Param4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('nit":"') + 1;
       Ende = JSON2.indexOf('","sen') + 1;
       Unit4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('Type":"') + 1;
       Ende = JSON2.indexOf('","ico') + 1;
       Sensor4 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
       Anfang = JSON2.indexOf('lue":"') + 1;
       Ende = JSON2.indexOf('","cre') + 1;
       Wert4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
       Anfang = JSON2.indexOf('tle":"') + 1;
       Ende = JSON2.indexOf('","uni') + 1;
       Param5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('nit":"') + 1;
       Ende = JSON2.indexOf('","sen') + 1;
       Unit5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       Anfang = JSON2.indexOf('Type":"') + 1;
       Ende = JSON2.indexOf('","ico') + 1;
       Sensor5 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
       Anfang = JSON2.indexOf('lue":"') + 1;
       Ende = JSON2.indexOf('","cre') + 1;
       Wert5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
       console.log(Param1);
       console.log(Unit1);
       console.log(Sensor1);
       console.log(Wert1);
       console.log(Param2);
       console.log(Unit2);
       console.log(Sensor2);
       console.log(Wert2);
       console.log(Param3);
       console.log(Unit3);
       console.log(Sensor3);
       console.log(Wert3);
       console.log(Param4);
       console.log(Unit4);
       console.log(Sensor4);
       console.log(Wert4);
       console.log(Param5);
       console.log(Unit5);
       console.log(Sensor5);
       console.log(Wert5);
       }).on("error", function (e) {console.error(e);});
     } catch (e) { console.error(e); }
    });
    
    Station = '5dd2e6674ec04e001aa48f9e';
    

    Jetzt wollte ich das Ganze mittels (mir noch unbekannten) Funktionen und später mit Erstellen und befüllen der Datenpunkte vereinfachen.

    Aber bei den Funktionen bin ich anscheinend schon gescheitert
    Meine Idee war statt der vielen Variablen einfach nur einen Satz zu nehmen, den in einer Schleife zu befüllen und die Ergebnisse in einen Datenpunkt zu schreiben, der sich zum einen aus den Variablen zusammensettzt und zum anderen den Wert und die Einheit enthält.

    Dies bedingt aber, dass Teile des Scripts erst ablaufen müssen um Variablen zu befüllen, bevor ich diese in der Funktion benutzen kann.

    Geht so etwas überhaupt?
    Zumindest lässt sich der Block zur Erstellung der Funktion nicht in den Fluß einbinden.
    Klar - Funktionen und Variablen werden ja vorab deklariert.

    Funktionen_Sensemap.png

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    paul53P 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      Ich versuche mich gerade weiter in Javascript hereinzuknien (natürlich mithilfe von Blockly)

      Habe schon schmerzlich einen "Parser Block" so wie: [parse (TEXT) mit RegEx() an Pos()] vermisst, aber geht nicht gibt's nicht.

      Da es bei mir immer nach "geht nicht gibt's nicht" läuft habe ich hier ein ziemlich aufwändiges Konstrukt gebastelt:
      https://forum.iobroker.net/assets/uploads/files/1577838362266-sensemap-blockly.txt

      oder hier als js-Export:

      var URL2, Station, SensemapJson, result, JSON2, Anfang, Ende, Param1, Unit1, Sensor1, Wert1, Param2, Unit2, Sensor2, Wert2, Param3, Unit3, Sensor3, Wert3, Param4, Unit4, Sensor4, Wert4, Param5, Unit5, Sensor5, Wert5;
      
      
      URL2 = 'https://api.opensensemap.org/boxes/' + String(Station);
      schedule("*/10 * * * *", function () {
       try {
         require("request")(URL2, function (error, response, result) {
           SensemapJson = result;
         setState("0_userdata.0.Umwelt.Feinstaub_JSON"/*Feinstaub_JSON*/, SensemapJson, true);
         JSON2 = SensemapJson;
         Anfang = JSON2.indexOf('tle":"') + 1;
         JSON2 = JSON2.slice(((Anfang - 7) - 1), 100000);
         Anfang = JSON2.indexOf('tle":"') + 1;
         Ende = JSON2.indexOf('","uni') + 1;
         Param1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('nit":"') + 1;
         Ende = JSON2.indexOf('","sen') + 1;
         Unit1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('Type":"') + 1;
         Ende = JSON2.indexOf('","ico') + 1;
         Sensor1 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
         Anfang = JSON2.indexOf('lue":"') + 1;
         Ende = JSON2.indexOf('","cre') + 1;
         Wert1 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
         Anfang = JSON2.indexOf('tle":"') + 1;
         Ende = JSON2.indexOf('","uni') + 1;
         Param2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('nit":"') + 1;
         Ende = JSON2.indexOf('","sen') + 1;
         Unit2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('Type":"') + 1;
         Ende = JSON2.indexOf('","ico') + 1;
         Sensor2 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
         Anfang = JSON2.indexOf('lue":"') + 1;
         Ende = JSON2.indexOf('","cre') + 1;
         Wert2 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
         Anfang = JSON2.indexOf('tle":"') + 1;
         Ende = JSON2.indexOf('","uni') + 1;
         Param3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('nit":"') + 1;
         Ende = JSON2.indexOf('","sen') + 1;
         Unit3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('Type":"') + 1;
         Ende = JSON2.indexOf('","ico') + 1;
         Sensor3 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
         Anfang = JSON2.indexOf('lue":"') + 1;
         Ende = JSON2.indexOf('","cre') + 1;
         Wert3 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         JSON2 = JSON2.slice(((Ende + 33) - 1), 100000);
         Anfang = JSON2.indexOf('tle":"') + 1;
         Ende = JSON2.indexOf('","uni') + 1;
         Param4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('nit":"') + 1;
         Ende = JSON2.indexOf('","sen') + 1;
         Unit4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('Type":"') + 1;
         Ende = JSON2.indexOf('","ico') + 1;
         Sensor4 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
         Anfang = JSON2.indexOf('lue":"') + 1;
         Ende = JSON2.indexOf('","cre') + 1;
         Wert4 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         JSON2 = JSON2.slice(((Ende + 30) - 1), 100000);
         Anfang = JSON2.indexOf('tle":"') + 1;
         Ende = JSON2.indexOf('","uni') + 1;
         Param5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('nit":"') + 1;
         Ende = JSON2.indexOf('","sen') + 1;
         Unit5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         Anfang = JSON2.indexOf('Type":"') + 1;
         Ende = JSON2.indexOf('","ico') + 1;
         Sensor5 = JSON2.slice(((Anfang + 7) - 1), Ende - 1);
         Anfang = JSON2.indexOf('lue":"') + 1;
         Ende = JSON2.indexOf('","cre') + 1;
         Wert5 = JSON2.slice(((Anfang + 6) - 1), Ende - 1);
         console.log(Param1);
         console.log(Unit1);
         console.log(Sensor1);
         console.log(Wert1);
         console.log(Param2);
         console.log(Unit2);
         console.log(Sensor2);
         console.log(Wert2);
         console.log(Param3);
         console.log(Unit3);
         console.log(Sensor3);
         console.log(Wert3);
         console.log(Param4);
         console.log(Unit4);
         console.log(Sensor4);
         console.log(Wert4);
         console.log(Param5);
         console.log(Unit5);
         console.log(Sensor5);
         console.log(Wert5);
         }).on("error", function (e) {console.error(e);});
       } catch (e) { console.error(e); }
      });
      
      Station = '5dd2e6674ec04e001aa48f9e';
      

      Jetzt wollte ich das Ganze mittels (mir noch unbekannten) Funktionen und später mit Erstellen und befüllen der Datenpunkte vereinfachen.

      Aber bei den Funktionen bin ich anscheinend schon gescheitert
      Meine Idee war statt der vielen Variablen einfach nur einen Satz zu nehmen, den in einer Schleife zu befüllen und die Ergebnisse in einen Datenpunkt zu schreiben, der sich zum einen aus den Variablen zusammensettzt und zum anderen den Wert und die Einheit enthält.

      Dies bedingt aber, dass Teile des Scripts erst ablaufen müssen um Variablen zu befüllen, bevor ich diese in der Funktion benutzen kann.

      Geht so etwas überhaupt?
      Zumindest lässt sich der Block zur Erstellung der Funktion nicht in den Fluß einbinden.
      Klar - Funktionen und Variablen werden ja vorab deklariert.

      Funktionen_Sensemap.png

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @Homoran
      Die Funktion muss innerhalb der Callback-Funktion von request() aufgerufen werden, nachdem die auszuwertende Variable befüllt ist.

      Ein JSON wertet man nicht mittels String-Operationen aus, sondern wandelt es in ein Objekt und greift auf die Attribute des Objektes zu. Vorher sollte man sich die Struktur des Objektes in einem JSON-Viewer anschauen.

      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

      HomoranH 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @Homoran
        Die Funktion muss innerhalb der Callback-Funktion von request() aufgerufen werden, nachdem die auszuwertende Variable befüllt ist.

        Ein JSON wertet man nicht mittels String-Operationen aus, sondern wandelt es in ein Objekt und greift auf die Attribute des Objektes zu. Vorher sollte man sich die Struktur des Objektes in einem JSON-Viewer anschauen.

        HomoranH Offline
        HomoranH Offline
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #3

        @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

        Ein JSON wertet man nicht mittels String-Operationen aus

        War mir klar dass das als erstes kommt ;-)
        Aber eins nach dem anderen - Rom ist auch nicht an einem Tag erbaut worden.

        Und bei anderen Rückgaben kommt vielleicht ein html oder plain text.

        @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

        Vorher sollte man sich die Struktur des Objektes in einem JSON-Viewer anschauen.

        Das habe ich gerade getan, als du den Link in einem anderen Thread gepostet hattest.
        Aber wirklich geholfen hatte mir das (noch) nichts.

        @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

        Die Funktion muss innerhalb der Callback-Funktion von request() aufgerufen werden, nachdem die auszuwertende Variable befüllt ist.

        klingt gut - und was heißt das?
        geht das mit Blockly?

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • HomoranH Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @paul53
          Hat länger gedauert vom Lesen bis zum Verstehen, was du da geschrieben hast

          DANKE mal wieder - läuft!
          Funktionen_Sensemap_ok.png

          Aber Verdauen muss ich das jetzt doch, warum es so funktioniert

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          paul53P 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @paul53
            Hat länger gedauert vom Lesen bis zum Verstehen, was du da geschrieben hast

            DANKE mal wieder - läuft!
            Funktionen_Sensemap_ok.png

            Aber Verdauen muss ich das jetzt doch, warum es so funktioniert

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @Homoran
            Prinzip mit Wandlung nach Objekt:

            Blockly_temp.JPG
            Ist das Objekt ein Array von Sensoren ?

            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

            HomoranH 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @Homoran
              Prinzip mit Wandlung nach Objekt:

              Blockly_temp.JPG
              Ist das Objekt ein Array von Sensoren ?

              HomoranH Offline
              HomoranH Offline
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #6

              @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

              Ist das Objekt ein Array von Sensoren ?

              Ja, das sehe ich mir gerne später an - versprochen!

              Momentan hänge ich noch am setState
              setstate_Sensor.png

              Kann man da variabel den Datenpunkt-Namen erzeugen?

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              paul53P 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

                Ist das Objekt ein Array von Sensoren ?

                Ja, das sehe ich mir gerne später an - versprochen!

                Momentan hänge ich noch am setState
                setstate_Sensor.png

                Kann man da variabel den Datenpunkt-Namen erzeugen?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @Homoran sagte:

                Kann man da variabel den Datenpunkt-Namen erzeugen?

                Leider nicht. Dazu brauchst Du eine Javascript-Funktion mit den Parametern id, unit:

                createState(id, 0, {type:'number', unit:unit, read:true, write:false, role:'value'});
                

                Der Block "schreibe" kann eine zusammengesetzte ID verwenden.

                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

                HomoranH 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @Homoran sagte:

                  Kann man da variabel den Datenpunkt-Namen erzeugen?

                  Leider nicht. Dazu brauchst Du eine Javascript-Funktion mit den Parametern id, unit:

                  createState(id, 0, {type:'number', unit:unit, read:true, write:false, role:'value'});
                  

                  Der Block "schreibe" kann eine zusammengesetzte ID verwenden.

                  HomoranH Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

                  Der Block "schreibe" kann eine zusammengesetzte ID verwenden.

                  Ich denke bei schreibe bekomme ich es hin, aber da meckert er, dass der Pfad nicht existiert

                  Ansonsten hat DSLRaser gerade in einem anderen Thread eine Funktion gezeigt, da muss es dann allerdings mit genuine js erstellt werden

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

                    Der Block "schreibe" kann eine zusammengesetzte ID verwenden.

                    Ich denke bei schreibe bekomme ich es hin, aber da meckert er, dass der Pfad nicht existiert

                    Ansonsten hat DSLRaser gerade in einem anderen Thread eine Funktion gezeigt, da muss es dann allerdings mit genuine js erstellt werden

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @Homoran sagte:

                    ch denke bei schreibe bekomme ich es hin, aber da meckert er, dass der Pfad nicht existiert

                    Block "schreibe" setzt nur einen Wert in einen bereits existierenden Datenpunkt. Deshalb benötigst Du zum Erzeugen der DP die Javascript-Funktion.

                    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

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Homoran sagte:

                      ch denke bei schreibe bekomme ich es hin, aber da meckert er, dass der Pfad nicht existiert

                      Block "schreibe" setzt nur einen Wert in einen bereits existierenden Datenpunkt. Deshalb benötigst Du zum Erzeugen der DP die Javascript-Funktion.

                      HomoranH Offline
                      HomoranH Offline
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 sagte in Wie Werte in eine Blockly Funktion übergeben?:

                      @Homoran sagte:

                      ch denke bei schreibe bekomme ich es hin, aber da meckert er, dass der Pfad nicht existiert

                      Block "schreibe" setzt nur einen Wert in einen bereits existierenden Datenpunkt. Deshalb benötigst Du zum Erzeugen der DP die Javascript-Funktion.

                      Genau so hatte ich es mir gedacht.

                      Also folgendes Spiel:
                      setstate_Sensor_function.png

                      Eine Funktion createState(Pfad, 0, {type:'number', unit:Unit1, read:true, write:false, role:'value'}); in der Funktion, dann der Schreibe Block

                      Das klappt auch fast, nur die Bezeichnung rel. Luftfeuchte zerstört die Struktur wegen des Punkts.
                      Das muss ich noch irgendwie abfangen.

                      Dass Temperatur und Feuchte unter einem Sensor liegen ist gar nicht so schlimm.
                      Oder ich muss den Pfad umbauen.

                      mal sehen

                      Danke soweit

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      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

                      297

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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