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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Zigbee Kommando via Javascript senden

NEWS

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

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

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

Zigbee Kommando via Javascript senden

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 4 Kommentatoren 1.1k Aufrufe 2 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.
  • H Offline
    H Offline
    hukio
    schrieb am zuletzt editiert von hukio
    #1

    Ich habe folgendes Script um ein zigbee device anzusprechen damit dieser einen Datenpunkt füllt. In der Zigbee Adapter Konfiguration unter "Entwickler" funktioniert die Abfrage (message in {devID......}

    sendTo("zigbee.0", "send", {
    devId: "zigbee.0.842e14fffe359c8f",
    ep: "",
    cid: "haElectricalMeasurement",
    cmd: "read",
    cmdType: "foundation",
    zclData: {
    activePower: {}
    },
    cfg: null
    });
    

    Der entsprechende Datenpunkt (power) wird nicht aufgefrischt. Was mache ich falsch? Was fehlt?

    Ich bin Anfänger in Javascript. Danke!

    paul53P 1 Antwort Letzte Antwort
    0
    • H hukio

      Ich habe folgendes Script um ein zigbee device anzusprechen damit dieser einen Datenpunkt füllt. In der Zigbee Adapter Konfiguration unter "Entwickler" funktioniert die Abfrage (message in {devID......}

      sendTo("zigbee.0", "send", {
      devId: "zigbee.0.842e14fffe359c8f",
      ep: "",
      cid: "haElectricalMeasurement",
      cmd: "read",
      cmdType: "foundation",
      zclData: {
      activePower: {}
      },
      cfg: null
      });
      

      Der entsprechende Datenpunkt (power) wird nicht aufgefrischt. Was mache ich falsch? Was fehlt?

      Ich bin Anfänger in Javascript. Danke!

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

      @hukio sagte:

      Der entsprechende Datenpunkt (power) wird nicht aufgefrischt. Was mache ich falsch?

      In Javascript wird ein Datenpunkt mit getState(id) abgefragt. Wert:

      let power = geState(id).val;
      

      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

      H 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @hukio sagte:

        Der entsprechende Datenpunkt (power) wird nicht aufgefrischt. Was mache ich falsch?

        In Javascript wird ein Datenpunkt mit getState(id) abgefragt. Wert:

        let power = geState(id).val;
        
        H Offline
        H Offline
        hukio
        schrieb am zuletzt editiert von hukio
        #3

        @paul53 said in Zigbee Kommando via Javascript senden:

        let power = geState(id).val;

        Der Datenpunkt muß aufgefrischt werden mit einer Abfrage beim device, da er sich nicht von alleine ändert. Daher das Kommando an den device. Habe dies leider nicht richtig ausgedrückt. Es geht um die Anregung des devices, damit er den Datenpunkt füllt.

        AsgothianA 1 Antwort Letzte Antwort
        0
        • H hukio

          @paul53 said in Zigbee Kommando via Javascript senden:

          let power = geState(id).val;

          Der Datenpunkt muß aufgefrischt werden mit einer Abfrage beim device, da er sich nicht von alleine ändert. Daher das Kommando an den device. Habe dies leider nicht richtig ausgedrückt. Es geht um die Anregung des devices, damit er den Datenpunkt füllt.

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von Asgothian
          #4

          @hukio Das Skript führt nicht dazu das der Adapter eine Nachricht ins Zigbee-Netz schickt. Die Funktion die du aufrufen willst und die Parameterliste passen nicht zusammen.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          H 1 Antwort Letzte Antwort
          0
          • AsgothianA Asgothian

            @hukio Das Skript führt nicht dazu das der Adapter eine Nachricht ins Zigbee-Netz schickt. Die Funktion die du aufrufen willst und die Parameterliste passen nicht zusammen.

            A.

            H Offline
            H Offline
            hukio
            schrieb am zuletzt editiert von hukio
            #5

            @Asgothian
            wie kann ich denn diese, ich glaube message, an den Blitzwolf plug senden? @dimaiv hat vorgeschlagen dies an den plug zu senden (link text). Wenn ich dies über die Expertenfunktion in der Adapterkonfiguration mache, funktioiniert es auch. Wie kann ich dies aus Javascript heraus machen?
            Danke HUK

            AsgothianA 1 Antwort Letzte Antwort
            0
            • H hukio

              @Asgothian
              wie kann ich denn diese, ich glaube message, an den Blitzwolf plug senden? @dimaiv hat vorgeschlagen dies an den plug zu senden (link text). Wenn ich dies über die Expertenfunktion in der Adapterkonfiguration mache, funktioiniert es auch. Wie kann ich dies aus Javascript heraus machen?
              Danke HUK

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

              @hukio
              Das ist bisher nicht vorgesehen. Ich muss mir das anschauen. Habe gestern Abend ein paar kurze Versuche gemacht und damit den Zigbee Adapter zum Absturz gebracht. ggf. kann ich da am Wochenende noch einmal genauer schauen.

              Prinzipiell stehe ich dieser Arbeitsweise aber negativ gegenüber - das ist so nur ganz bedingt nutzbar. Ein Konzept wie das darunter liegende Problem angegangen werden kann gibt es schon - Alleine die Zeit zur Umsetzung fehlt. Ziel bei der Umsetzung ist ein Datenpunkt über den ein Versuch der Datenabfrage für einen angegebenen Datenpunkt möglich wird.

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              D 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @hukio
                Das ist bisher nicht vorgesehen. Ich muss mir das anschauen. Habe gestern Abend ein paar kurze Versuche gemacht und damit den Zigbee Adapter zum Absturz gebracht. ggf. kann ich da am Wochenende noch einmal genauer schauen.

                Prinzipiell stehe ich dieser Arbeitsweise aber negativ gegenüber - das ist so nur ganz bedingt nutzbar. Ein Konzept wie das darunter liegende Problem angegangen werden kann gibt es schon - Alleine die Zeit zur Umsetzung fehlt. Ziel bei der Umsetzung ist ein Datenpunkt über den ein Versuch der Datenabfrage für einen angegebenen Datenpunkt möglich wird.

                A.

                D Offline
                D Offline
                dimaiv
                schrieb am zuletzt editiert von dimaiv
                #7

                @Asgothian
                Es funktioniert ganz gut, schon gefühlt 1 Jahr lang bei mir, ohne fehler. Mann muss nur die Befehle richtig schreiben. Ich steuere so die Geräte, die noch nicht im Adapter unterstützt sind. Hier ein Beispiel von mir, für die Dose (ich mache über Blockly).

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable type="interval" id="Intervall">Intervall</variable>
                  </variables>
                  <block type="timeouts_setinterval" id="?8hK!-J!G%AAa9N}!}i7" x="13" y="-387">
                    <field name="NAME">Intervall</field>
                    <field name="INTERVAL">5000</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT">
                      <block type="procedures_callnoreturn" id="/51|+5{?}.bAVEct2vp}">
                        <mutation name="Abfrage Power"></mutation>
                      </block>
                    </statement>
                  </block>
                  <block type="procedures_defnoreturn" id="QdkGqIq%b^1*8|50X@UB" x="13" y="-287">
                    <field name="NAME">Abfrage Power</field>
                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    <statement name="STACK">
                      <block type="sendto_custom" id="+ek,04|z_X4`6,*N*vkG">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="false"></mutation>
                        <field name="INSTANCE">zigbee.0</field>
                        <field name="COMMAND">sendToZigbee</field>
                        <field name="LOG"></field>
                        <field name="WITH_STATEMENT">FALSE</field>
                        <value name="ARG0">
                          <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="a:uy]/~1ij)VF`.xf}M{">
                            <field name="TEXT"></field>
                          </shadow>
                          <block type="text" id="/O)mWoBJivIMZ3e9Hqvt">
                            <field name="TEXT">{ "id": "zigbee.0.842e14fffedb8ae5", "ep": "1", "cid": "haElectricalMeasurement", "cmd": "read", "cmdType": "foundation", "zclData": { "activePower": {} } }</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                </xml>
                

                Kann man so importieren? Also hier wird Power alle 5 sek abgefragt.

                ioBroker- NUC8i3 / Proxmox / VM
                Node.js v22.21.0
                NPM v10.9.4
                JS controller 7.0.7
                Admin 7.7.19
                ZigBee Adapter 3.2.5
                Zigbee LAN Gateway CC2652P
                Zigbee Firmware 20250321

                AsgothianA H 2 Antworten Letzte Antwort
                0
                • D dimaiv

                  @Asgothian
                  Es funktioniert ganz gut, schon gefühlt 1 Jahr lang bei mir, ohne fehler. Mann muss nur die Befehle richtig schreiben. Ich steuere so die Geräte, die noch nicht im Adapter unterstützt sind. Hier ein Beispiel von mir, für die Dose (ich mache über Blockly).

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable type="interval" id="Intervall">Intervall</variable>
                    </variables>
                    <block type="timeouts_setinterval" id="?8hK!-J!G%AAa9N}!}i7" x="13" y="-387">
                      <field name="NAME">Intervall</field>
                      <field name="INTERVAL">5000</field>
                      <field name="UNIT">ms</field>
                      <statement name="STATEMENT">
                        <block type="procedures_callnoreturn" id="/51|+5{?}.bAVEct2vp}">
                          <mutation name="Abfrage Power"></mutation>
                        </block>
                      </statement>
                    </block>
                    <block type="procedures_defnoreturn" id="QdkGqIq%b^1*8|50X@UB" x="13" y="-287">
                      <field name="NAME">Abfrage Power</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      <statement name="STACK">
                        <block type="sendto_custom" id="+ek,04|z_X4`6,*N*vkG">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="false"></mutation>
                          <field name="INSTANCE">zigbee.0</field>
                          <field name="COMMAND">sendToZigbee</field>
                          <field name="LOG"></field>
                          <field name="WITH_STATEMENT">FALSE</field>
                          <value name="ARG0">
                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="a:uy]/~1ij)VF`.xf}M{">
                              <field name="TEXT"></field>
                            </shadow>
                            <block type="text" id="/O)mWoBJivIMZ3e9Hqvt">
                              <field name="TEXT">{ "id": "zigbee.0.842e14fffedb8ae5", "ep": "1", "cid": "haElectricalMeasurement", "cmd": "read", "cmdType": "foundation", "zclData": { "activePower": {} } }</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  

                  Kann man so importieren? Also hier wird Power alle 5 sek abgefragt.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @dimaiv Kannst Du das dann bitte mit @hukio gängig machen. Ich hatte es versucht und es hat recht heftig geknallt.

                  Insgesamt bin ich aber der Meinung das wir für diese Art Aufgabe eine Methode brauchen die möglichst ohne Zigbee-Detailwissen funktioniert.

                  Mir schwebt eine Option vor mit der der Zigbee Adapter wenn das denn vom Herdsman unterstützt wird versucht den Wert eines DP direkt von der Hardware abfragt.

                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  1 Antwort Letzte Antwort
                  0
                  • D dimaiv

                    @Asgothian
                    Es funktioniert ganz gut, schon gefühlt 1 Jahr lang bei mir, ohne fehler. Mann muss nur die Befehle richtig schreiben. Ich steuere so die Geräte, die noch nicht im Adapter unterstützt sind. Hier ein Beispiel von mir, für die Dose (ich mache über Blockly).

                    <xml xmlns="https://developers.google.com/blockly/xml">
                      <variables>
                        <variable type="interval" id="Intervall">Intervall</variable>
                      </variables>
                      <block type="timeouts_setinterval" id="?8hK!-J!G%AAa9N}!}i7" x="13" y="-387">
                        <field name="NAME">Intervall</field>
                        <field name="INTERVAL">5000</field>
                        <field name="UNIT">ms</field>
                        <statement name="STATEMENT">
                          <block type="procedures_callnoreturn" id="/51|+5{?}.bAVEct2vp}">
                            <mutation name="Abfrage Power"></mutation>
                          </block>
                        </statement>
                      </block>
                      <block type="procedures_defnoreturn" id="QdkGqIq%b^1*8|50X@UB" x="13" y="-287">
                        <field name="NAME">Abfrage Power</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        <statement name="STACK">
                          <block type="sendto_custom" id="+ek,04|z_X4`6,*N*vkG">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="false"></mutation>
                            <field name="INSTANCE">zigbee.0</field>
                            <field name="COMMAND">sendToZigbee</field>
                            <field name="LOG"></field>
                            <field name="WITH_STATEMENT">FALSE</field>
                            <value name="ARG0">
                              <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="a:uy]/~1ij)VF`.xf}M{">
                                <field name="TEXT"></field>
                              </shadow>
                              <block type="text" id="/O)mWoBJivIMZ3e9Hqvt">
                                <field name="TEXT">{ "id": "zigbee.0.842e14fffedb8ae5", "ep": "1", "cid": "haElectricalMeasurement", "cmd": "read", "cmdType": "foundation", "zclData": { "activePower": {} } }</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                      </block>
                    </xml>
                    

                    Kann man so importieren? Also hier wird Power alle 5 sek abgefragt.

                    H Offline
                    H Offline
                    hukio
                    schrieb am zuletzt editiert von hukio
                    #9

                    @dimaiv und @Asgothian vielen Dank. Ich war schon dicht dran. Benutze auch Blockly. Der Trick ist nicht die send Funktion (senden an den Zigbee Adapter) sondern die sendToZigbee Funktion des Zigbee Adapters im Blockly als Befehl zu nehmen. Funktioniert einwandfreil. Danke an Euch beide!

                    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

                    538

                    Online

                    32.4k

                    Benutzer

                    81.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