Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Objekte in Blockly und JS erzeugen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Objekte in Blockly und JS erzeugen

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

      Hallo zusammen

      Ich habe im Forum mitbekommen, dass es sinnvoll ist die Objekte via Script zu erzeugen. Dann kann man Sie jederzeit wieder neu generieren lassen. Das hat mich auch überzeugt 😉

      Nun habe ich aber doch zwei Fragen:

      Eigentlich arbeite ich gerne mit Blockly. Klappt auch mit dem Baustein "Zustand erzeugen XY".

      In JS habe ich die Möglichkeit weitere Werte des Objektes zu definieren, z.B:

      createState('PV_Leistung', {
         name: 'AC Power value',
         unit: 'W',
         min:  0,
         type: 'number',
         role: 'value.energy'
      }
      
      

      kann ich das in Blockly auch irgendwie?

      Zweite Frage:

      Wenn ich Objekte wie oben beschrieben erzeuge landen diese unter javascript.0.XY

      Nun habe ich aber im Modbusadapter ebenfalls Objekte definiert und diese kommen in modbus.0.holdingRegisters.XY.

      Kann ich diese Objekte auch via script erzeugen lassen?

      Besten Dank

      1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan last edited by

        @sol21:

        Kann ich diese Objekte auch via script erzeugen lassen? `
        Mit Blockly leider nicht.

        Fehlt mir auch sehr 😢

        Grüße

        1 Reply Last reply Reply Quote 0
        • N
          none4711 last edited by

          Hi Zusammen,

          ich habe mir in Blockly mit einem Kunstgriff geholfen.

          Dazu rufe ich in Blockly ein Javascript mit "createstate" auf.

          Geht sogar mit Variablen.

          Die Variablen werden zwar nur unter javascript.0 erzeugt aber man kann die Erstellung der Variablen beeinflußen.

          Vielleicht hilfs ja.

          Hier der Blockly-Code-Export

          ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
          ! <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="37" y="12"><mutation name="Variablen anlegen"><arg name="Name"></arg>
          ! <arg name="Initialisierung"></arg>
          ! <arg name="Beschreibung"></arg>
          ! <arg name="Type"></arg></mutation>
          ! <value name="ARG0"><block type="text" id="nSr7Hq~;DUU2#lB+Yj:}"><field name="TEXT">Status.Geraete.Test</field></block></value>
          ! <value name="ARG1"><block type="text" id="xlqa55O11o`@{+#@Yj;%"><field name="TEXT">false</field></block></value>
          ! <value name="ARG2"><block type="text" id="yEhqZqxh*}Ip8?yzOW7I"><field name="TEXT">Cool</field></block></value>
          ! <value name="ARG3"><block type="text" id="sYAGk@@-Fz^fIDONX!/i"><field name="TEXT">boolean</field></block></value></block>
          ! <block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="138" y="213"><mutation statements="false"><arg name="Name"></arg>
          ! <arg name="Initialisierung"></arg>
          ! <arg name="Beschreibung"></arg>
          ! <arg name="Type"></arg></mutation>
          ! <field name="NAME">Variablen anlegen</field>
          ! <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIHJlYWQ6IHRydWUsIA0KICB3cml0ZTogdHJ1ZSwgDQogIG5hbWU6IEJlc2NocmVpYnVuZywgDQogIHR5cGU6IFR5cGUsIA0KICBkZWY6IGZhbHNlDQp9KTs=</field>
          ! <comment pinned="false" h="80" w="160">Hier ist das Javascript drin.</comment></block></xml>

          1 Reply Last reply Reply Quote -1
          • rantanplan
            rantanplan last edited by

            Hallo none4711

            Keine schlechte Idee.

            Einfach kann manchmal einfach sein 😄

            Grüße

            1 Reply Last reply Reply Quote 0
            • umbm
              umbm last edited by

              Ich stehe gerade auf dem Schlauch, denn es sind meine ersten Schritte in Blockly.

              Das Script aus dem Spoiler oben habe ich angelegt.

              In meinem Blockly-Script bin ich im Moment so weit, dass ich den Wert des Objekts, das erzeugt werden soll, als Variable vorliegen habe und der Wert könnte nun in das Objekt geschrieben werden.

              Aber wie geht es denn nun weiter mit dem Script von oben?

              Wo und wann rufe ich das wie in Blockly auf? :?:

              Ich brauche da irgendwie nochmal einen Anstoß…

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                @none4711:

                ich habe mir in Blockly mit einem Kunstgriff geholfen.

                Dazu rufe ich in Blockly ein Javascript mit "createstate" auf. `
                Dann schlage ich 3 Funktionen - je nach Datenpunkttyp - vor.
                493_blockly_3createstate.jpg

                ! ````
                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="ORmhM@AO~Vbt~j|cDEnt" x="137" y="262"><mutation statements="false"><arg name="ID"></arg>
                <arg name="Init"></arg>
                <arg name="Name"></arg>
                <arg name="Einheit"></arg>
                <arg name="Min"></arg>
                <arg name="Max"></arg></mutation>
                <field name="NAME">newNumberDP</field>
                <field name="SCRIPT">Y3JlYXRlU3RhdGUoSUQsIEluaXQsIHsKICAgIHR5cGU6ICdudW1iZXInLAogICAgbmFtZTogTmFtZSwKICAgIHVuaXQ6IEVpbmhlaXQsCiAgICBtaW46IE1pbiwKICAgIG1heDogTWF4Cn0pOw==</field>
                <comment pinned="false" h="80" w="160">Datenpunkt Typ Zahl erzeugen</comment></block>
                <block type="procedures_defcustomnoreturn" id="2@tb5Q,+;3xgyRLR`611" x="137" y="313"><mutation statements="false"><arg name="ID"></arg>
                <arg name="Init"></arg>
                <arg name="Name"></arg></mutation>
                <field name="NAME">newStringDP</field>
                <field name="SCRIPT">Y3JlYXRlU3RhdGUoSUQsIEluaXQsIHt0eXBlOiAnc3RyaW5nJywgbmFtZTogTmFtZX0pOw==</field>
                <comment pinned="false" h="80" w="160">Datenpunkt Typ Zeichenkette erzeugen</comment></block>
                <block type="procedures_defcustomnoreturn" id="s}Pwi720KKlpTUa:!xH5" x="137" y="362"><mutation statements="false"><arg name="ID"></arg>
                <arg name="Name"></arg></mutation>
                <field name="NAME">newBoolDP</field>
                <field name="SCRIPT">Y3JlYXRlU3RhdGUoSUQsIGZhbHNlLCB7dHlwZTogJ2Jvb2xlYW4nLCBuYW1lOiBOYW1lfSk7</field>
                <comment pinned="false" h="80" w="160">Datenpunkt Typ Logikwert erzeugen</comment></block></xml>

                1 Reply Last reply Reply Quote 0
                • umbm
                  umbm last edited by

                  Danke, jetzt ist es gelöst!

                  Und diese Funktionen und Blöcke bekommt man nur durch Import des "Quellcodes" in Blockly eingebunden, oder?

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  592
                  Online

                  31.7k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  5
                  7
                  6139
                  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