Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. ZigBee und send_payload ... ging genau EIN Mal

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

ZigBee und send_payload ... ging genau EIN Mal

Scheduled Pinned Locked Moved ioBroker Allgemein
9 Posts 4 Posters 790 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    fiddle
    wrote on last edited by
    #1

    Hallöchen. Mein ZickenBienenVolk hat mal wieder Zuwachs bekommen. Zwei Außenrollos auch CN, mit diesem Antrieb:
    https://www.zigbee2mqtt.io/devices/WM25L-Z.html

    Zigbee Adapter 1.10.3

    Angelernt, alle Objekte sind da, alles wie im Bilderbuch zack zack. Wenn sie per mitgelieferter Fernbedienung gesteuert werden aktualisieren sie brav alle Werte sobald sie die jeweilige Fahrt stoppen. Während sie fahren senden sie keine Messages. Soweit so gut, alles prima.

    Jetzt will ich sie steuern. Dazü müsste ich gem. der Seite oben einen dieser Strings in
    zigbee.0.{device-ID-here}.send_payload schreiben.

    {"state": "OPEN"}
    {"state": "CLOSE"}
    {"state": "STOP"}
    {"position": VALUE}
    

    (Mit Value 0=Stoff oben, offen; 100=Stoff unten, geschlossen; oder etwas dazwischen.)

    Habe das manuell probiert, indem ich in das Objekt die Zeile mit "position" oben inkl. der {} kopiert und den Wert auf 50 (nur die Zahl) gesetzt habe. Den Haken bei "Bestätigt" hatte ich nicht gesetzt. Habe also nur den String editiert (und das Einfabefeld auch auf "String" gelassen) und dann CTRL+Enter gedrückt. Und Zack, das ding ist auf 50% gefahren.
    Gut, wa?
    Tja, denkste... das hat GENAU EIN MAL funktioniert. Egal was ich danach dort eingetragen habe, es passiert "nüscht".
    Habe den Wert zwischenzeitlich auch mal komplett geleert.

    Im Log erscheint dies (von unten nach oben lesen für die richtige Reihenfolge; die "----" zur besseren Lesbarkeit ergänzt)

    Stack trace for failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms),Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms: Error: ZCL command 0x0ceff6fffea851cb/1 closuresWindowCovering.goToLiftPercentage({"percentageliftvalue":50}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms) at Object.start (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/waitress.ts:63:23) at ZStackAdapter.sendZclFrameToEndpointInternal (/opt/iobroker/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:497:47) at Queue.execute (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/queue.ts:35:20) at Request.send (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:79:20) at Endpoint.zclCommand (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:756:28) at Endpoint.command (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:587:24) at Object.convertSet (/opt/iobroker/node_modules/zigbee-herdsman-converters/src/converters/toZigbee.ts:611:13) at /opt/iobroker/node_modules/iobroker.zigbee/main.js:754:36
    ----
    Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
    ----
    Stack trace for failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms),Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms: Error: ZCL command 0x0ceff6fffea851cb/1 closuresWindowCovering.goToLiftPercentage({"percentageliftvalue":50}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms) at Object.start (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/waitress.ts:63:23) at ZStackAdapter.sendZclFrameToEndpointInternal (/opt/iobroker/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:497:47) at Queue.execute (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/queue.ts:35:20) at Request.send (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:79:20) at Endpoint.zclCommand (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:756:28) at Endpoint.command (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:587:24) at Object.convertSet (/opt/iobroker/node_modules/zigbee-herdsman-converters/src/converters/toZigbee.ts:611:13) at /opt/iobroker/node_modules/iobroker.zigbee/main.js:754:36
    ----
    Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
    ----
    target: {"_events":{},"_eventsCount":0,"_maxListeners":100,"deviceID":514,"inputClusters":[0,1,3,4,5,258],"outputClusters":[3,25],"profileID":260,"ID":1,"clusters":{"closuresWindowCovering":{"attributes":{"currentPositionLiftPercentage":0}},"genBasic":{"attributes":{"modelId":"WM25/L-Z","manufacturerName":"Smartwings","powerSource":0,"zclVersion":8}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":100}}},"deviceIeeeAddress":"0x0ceff6fffea851cb","deviceNetworkAddress":57809,"_binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1},{"cluster":258,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1}],"_configuredReportings":[],"meta":{},"pendingRequests":{"sendInProgress":false,"ID":1,"deviceIeeeAddress":"0x0ceff6fffea851cb"}}
    ----
    entity: 0x0ceff6fffea851cb {"type":"device","device":{"_events":{},"_eventsCount":0,"_maxListeners":100,"ID":12,"_endpoints":[{"_events":{},"_eventsCount":0,"_maxListeners":100,"deviceID":514,"inputClusters":[0,1,3,4,5,258],"outputClusters":[3,25],"profileID":260,"ID":1,"clusters":{"closuresWindowCovering":{"attributes":{"currentPositionLiftPercentage":0}},"genBasic":{"attributes":{"modelId":"WM25/L-Z","manufacturerName":"Smartwings","powerSource":0,"zclVersion":8}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":100}}},"deviceIeeeAddress":"0x0ceff6fffea851cb","deviceNetworkAddress":57809,"_binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1},{"cluster":258,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1}],"_configuredReportings":[],"meta":{},"pendingRequests":{"sendInProgress":false,"ID":1,"deviceIeeeAddress":"0x0ceff6fffea851cb"}}],"_ieeeAddr":"0x0ceff6fffea851cb","_interviewCompleted":true,"_interviewing":false,"_lastSeen":1722520859113,"_manufacturerID":4098,"_manufacturerName":"Smartwings","_modelID":"WM25/L-Z","_networkAddress":57809,"_powerSource":"Mains (single phase)","_type":"EndDevice","_zclVersion":8,"_linkquality":60,"_skipDefaultResponse":false,"_lastDefaultResponseSequenceNumber":53,"_pendingRequestTimeout":0,"meta":{"configured":-245136374}},"mapped":{"zigbeeModel":["WM25/L-Z"],"model":"WM25L-Z","vendor":"Smartwings","description":"Roller shade","fromZigbee":[{"cluster":"closuresWindowCovering","type":["attributeReport","readResponse"],"options":[{"name":"invert_cover","label":"Invert cover","access":2,"type":"binary","property":"invert_cover","description":"Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false).","value_on":true,"value_off":false}]},{"cluster":"genPowerCfg","type":["attributeReport","readResponse"]}],"toZigbee":[{"key":["state"]},{"key":["position","tilt"],"options":[{"name":"invert_cover","label":"Invert cover","access":2,"type":"binary","property":"invert_cover","description":"Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false).","value_on":true,"value_off":false}]},{"key":["scene_store"]},{"key":["scene_recall"]},{"key":["scene_add"]},{"key":["scene_remove"]},{"key":["scene_remove_all"]},{"key":["scene_rename"]},{"key":["read"]},{"key":["write"]},{"key":["command"]},{"key":["reset"]},{"key":["zclcommand"]}],"meta":{"battery":{"dontDividePercentage":true},"coverInverted":true},"exposes":[{"type":"cover","features":[{"name":"state","label":"State","access":3,"type":"enum","property":"state","values":["OPEN","CLOSE","STOP"]},{"name":"position","label":"Position","access":7,"type":"numeric","property":"position","description":"Position of this cover","unit":"%","value_max":100,"value_min":0}]},{"name":"battery","label":"Battery","access":1,"type":"numeric","property":"battery","description":"Remaining battery in %, can take up to 24 hours before reported","category":"diagnostic","unit":"%","value_max":100,"value_min":0},{"name":"linkquality","label":"Linkquality","access":1,"type":"numeric","property":"linkquality","description":"Link quality (signal strength)","category":"diagnostic","unit":"lqi","value_max":255,"value_min":0}],"options":["[Circular]"]},"endpoint":"[Circular]","endpoints":"[Circular]","name":"0x0ceff6fffea851cb"}
    ----
    publishFromState : 0x0ceff6fffea851cb [{"stateDesc":{"id":"position","prop":"position","role":"state","type":"number"},"value":50,"index":0,"timeout":0}]
    ----
    Calling publish to state for "0ceff6fffea851cb" with [{"stateDesc":{"id":"position","prop":"position","role":"state","type":"number"},"value":50,"index":0,"timeout":0}]
    ----
    publishToDevice called with {"device":"0ceff6fffea851cb","payload":{"position":50}}
    

    Was mache ich falsch?
    Und: wie oben erwähnt beim ersten Versuch als "String" gesendet. Danach stand das Objekt bei jedem weiteren Versuch von sich aus als "JSON" da. Auch wenn ich via NodeRed in das Objekt schreibe steht es danach auf "JSON". Ist es wichtig, ob das schreiben als "String" oder "JSON" passiert? Wenn es "String" sein muss (was ich bei jedem händischen Versuch eingestellt habe), wie würde ich das aus NodeRed heraus sicher stellen?

    Schöne Tage euch, und schon mal Dank für eure wertvolle Zeit!

    paul53P 1 Reply Last reply
    0
    • F fiddle

      Hallöchen. Mein ZickenBienenVolk hat mal wieder Zuwachs bekommen. Zwei Außenrollos auch CN, mit diesem Antrieb:
      https://www.zigbee2mqtt.io/devices/WM25L-Z.html

      Zigbee Adapter 1.10.3

      Angelernt, alle Objekte sind da, alles wie im Bilderbuch zack zack. Wenn sie per mitgelieferter Fernbedienung gesteuert werden aktualisieren sie brav alle Werte sobald sie die jeweilige Fahrt stoppen. Während sie fahren senden sie keine Messages. Soweit so gut, alles prima.

      Jetzt will ich sie steuern. Dazü müsste ich gem. der Seite oben einen dieser Strings in
      zigbee.0.{device-ID-here}.send_payload schreiben.

      {"state": "OPEN"}
      {"state": "CLOSE"}
      {"state": "STOP"}
      {"position": VALUE}
      

      (Mit Value 0=Stoff oben, offen; 100=Stoff unten, geschlossen; oder etwas dazwischen.)

      Habe das manuell probiert, indem ich in das Objekt die Zeile mit "position" oben inkl. der {} kopiert und den Wert auf 50 (nur die Zahl) gesetzt habe. Den Haken bei "Bestätigt" hatte ich nicht gesetzt. Habe also nur den String editiert (und das Einfabefeld auch auf "String" gelassen) und dann CTRL+Enter gedrückt. Und Zack, das ding ist auf 50% gefahren.
      Gut, wa?
      Tja, denkste... das hat GENAU EIN MAL funktioniert. Egal was ich danach dort eingetragen habe, es passiert "nüscht".
      Habe den Wert zwischenzeitlich auch mal komplett geleert.

      Im Log erscheint dies (von unten nach oben lesen für die richtige Reihenfolge; die "----" zur besseren Lesbarkeit ergänzt)

      Stack trace for failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms),Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms: Error: ZCL command 0x0ceff6fffea851cb/1 closuresWindowCovering.goToLiftPercentage({"percentageliftvalue":50}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms) at Object.start (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/waitress.ts:63:23) at ZStackAdapter.sendZclFrameToEndpointInternal (/opt/iobroker/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:497:47) at Queue.execute (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/queue.ts:35:20) at Request.send (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:79:20) at Endpoint.zclCommand (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:756:28) at Endpoint.command (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:587:24) at Object.convertSet (/opt/iobroker/node_modules/zigbee-herdsman-converters/src/converters/toZigbee.ts:611:13) at /opt/iobroker/node_modules/iobroker.zigbee/main.js:754:36
      ----
      Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
      ----
      Stack trace for failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms),Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms: Error: ZCL command 0x0ceff6fffea851cb/1 closuresWindowCovering.goToLiftPercentage({"percentageliftvalue":50}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms) at Object.start (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/waitress.ts:63:23) at ZStackAdapter.sendZclFrameToEndpointInternal (/opt/iobroker/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:497:47) at Queue.execute (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/queue.ts:35:20) at Request.send (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/helpers/request.ts:79:20) at Endpoint.zclCommand (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:756:28) at Endpoint.command (/opt/iobroker/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:587:24) at Object.convertSet (/opt/iobroker/node_modules/zigbee-herdsman-converters/src/converters/toZigbee.ts:611:13) at /opt/iobroker/node_modules/iobroker.zigbee/main.js:754:36
      ----
      Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
      ----
      target: {"_events":{},"_eventsCount":0,"_maxListeners":100,"deviceID":514,"inputClusters":[0,1,3,4,5,258],"outputClusters":[3,25],"profileID":260,"ID":1,"clusters":{"closuresWindowCovering":{"attributes":{"currentPositionLiftPercentage":0}},"genBasic":{"attributes":{"modelId":"WM25/L-Z","manufacturerName":"Smartwings","powerSource":0,"zclVersion":8}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":100}}},"deviceIeeeAddress":"0x0ceff6fffea851cb","deviceNetworkAddress":57809,"_binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1},{"cluster":258,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1}],"_configuredReportings":[],"meta":{},"pendingRequests":{"sendInProgress":false,"ID":1,"deviceIeeeAddress":"0x0ceff6fffea851cb"}}
      ----
      entity: 0x0ceff6fffea851cb {"type":"device","device":{"_events":{},"_eventsCount":0,"_maxListeners":100,"ID":12,"_endpoints":[{"_events":{},"_eventsCount":0,"_maxListeners":100,"deviceID":514,"inputClusters":[0,1,3,4,5,258],"outputClusters":[3,25],"profileID":260,"ID":1,"clusters":{"closuresWindowCovering":{"attributes":{"currentPositionLiftPercentage":0}},"genBasic":{"attributes":{"modelId":"WM25/L-Z","manufacturerName":"Smartwings","powerSource":0,"zclVersion":8}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":100}}},"deviceIeeeAddress":"0x0ceff6fffea851cb","deviceNetworkAddress":57809,"_binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1},{"cluster":258,"type":"endpoint","deviceIeeeAddress":"0x00124b0009d80909","endpointID":1}],"_configuredReportings":[],"meta":{},"pendingRequests":{"sendInProgress":false,"ID":1,"deviceIeeeAddress":"0x0ceff6fffea851cb"}}],"_ieeeAddr":"0x0ceff6fffea851cb","_interviewCompleted":true,"_interviewing":false,"_lastSeen":1722520859113,"_manufacturerID":4098,"_manufacturerName":"Smartwings","_modelID":"WM25/L-Z","_networkAddress":57809,"_powerSource":"Mains (single phase)","_type":"EndDevice","_zclVersion":8,"_linkquality":60,"_skipDefaultResponse":false,"_lastDefaultResponseSequenceNumber":53,"_pendingRequestTimeout":0,"meta":{"configured":-245136374}},"mapped":{"zigbeeModel":["WM25/L-Z"],"model":"WM25L-Z","vendor":"Smartwings","description":"Roller shade","fromZigbee":[{"cluster":"closuresWindowCovering","type":["attributeReport","readResponse"],"options":[{"name":"invert_cover","label":"Invert cover","access":2,"type":"binary","property":"invert_cover","description":"Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false).","value_on":true,"value_off":false}]},{"cluster":"genPowerCfg","type":["attributeReport","readResponse"]}],"toZigbee":[{"key":["state"]},{"key":["position","tilt"],"options":[{"name":"invert_cover","label":"Invert cover","access":2,"type":"binary","property":"invert_cover","description":"Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false).","value_on":true,"value_off":false}]},{"key":["scene_store"]},{"key":["scene_recall"]},{"key":["scene_add"]},{"key":["scene_remove"]},{"key":["scene_remove_all"]},{"key":["scene_rename"]},{"key":["read"]},{"key":["write"]},{"key":["command"]},{"key":["reset"]},{"key":["zclcommand"]}],"meta":{"battery":{"dontDividePercentage":true},"coverInverted":true},"exposes":[{"type":"cover","features":[{"name":"state","label":"State","access":3,"type":"enum","property":"state","values":["OPEN","CLOSE","STOP"]},{"name":"position","label":"Position","access":7,"type":"numeric","property":"position","description":"Position of this cover","unit":"%","value_max":100,"value_min":0}]},{"name":"battery","label":"Battery","access":1,"type":"numeric","property":"battery","description":"Remaining battery in %, can take up to 24 hours before reported","category":"diagnostic","unit":"%","value_max":100,"value_min":0},{"name":"linkquality","label":"Linkquality","access":1,"type":"numeric","property":"linkquality","description":"Link quality (signal strength)","category":"diagnostic","unit":"lqi","value_max":255,"value_min":0}],"options":["[Circular]"]},"endpoint":"[Circular]","endpoints":"[Circular]","name":"0x0ceff6fffea851cb"}
      ----
      publishFromState : 0x0ceff6fffea851cb [{"stateDesc":{"id":"position","prop":"position","role":"state","type":"number"},"value":50,"index":0,"timeout":0}]
      ----
      Calling publish to state for "0ceff6fffea851cb" with [{"stateDesc":{"id":"position","prop":"position","role":"state","type":"number"},"value":50,"index":0,"timeout":0}]
      ----
      publishToDevice called with {"device":"0ceff6fffea851cb","payload":{"position":50}}
      

      Was mache ich falsch?
      Und: wie oben erwähnt beim ersten Versuch als "String" gesendet. Danach stand das Objekt bei jedem weiteren Versuch von sich aus als "JSON" da. Auch wenn ich via NodeRed in das Objekt schreibe steht es danach auf "JSON". Ist es wichtig, ob das schreiben als "String" oder "JSON" passiert? Wenn es "String" sein muss (was ich bei jedem händischen Versuch eingestellt habe), wie würde ich das aus NodeRed heraus sicher stellen?

      Schöne Tage euch, und schon mal Dank für eure wertvolle Zeit!

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @fiddle sagte: "String" oder "JSON"

      JSON ist ein String.

      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

      F 1 Reply Last reply
      0
      • paul53P paul53

        @fiddle sagte: "String" oder "JSON"

        JSON ist ein String.

        F Offline
        F Offline
        fiddle
        wrote on last edited by fiddle
        #3

        @paul53 sagte in ZigBee und send_payload ... ging genau EIN Mal:

        @fiddle sagte: "String" oder "JSON"

        JSON ist ein String.

        Ok...dann sollte das ja egal sein (nur, warum gibt es dann beide Optionen in der Maske zum Setzen des Objektes?).
        Bleibt die Frage im "Hauptsacheverfahren"... warum passiert nix :-) ?

        Edit: Gerade nochmal probiert. {state}:{OPEN} und "CLOSE" und "STOP" hat gerade 2-3 Mal funktioniert, dann wieder nicht mehr. "position" mit Zahlenwert wiederum nicht. Und die anderen jetzt auch wieder nicht mehr.... strange.

        AsgothianA 1 Reply Last reply
        0
        • F fiddle

          @paul53 sagte in ZigBee und send_payload ... ging genau EIN Mal:

          @fiddle sagte: "String" oder "JSON"

          JSON ist ein String.

          Ok...dann sollte das ja egal sein (nur, warum gibt es dann beide Optionen in der Maske zum Setzen des Objektes?).
          Bleibt die Frage im "Hauptsacheverfahren"... warum passiert nix :-) ?

          Edit: Gerade nochmal probiert. {state}:{OPEN} und "CLOSE" und "STOP" hat gerade 2-3 Mal funktioniert, dann wieder nicht mehr. "position" mit Zahlenwert wiederum nicht. Und die anderen jetzt auch wieder nicht mehr.... strange.

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          wrote on last edited by
          #4

          @fiddle Deinem Log-Auszug fehlen die Zeitstempel. Das macht es schlechter lesbar.

          Die Meldung

          Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
          

          deutet darauf hin das das Gerät nicht antwortet.

          Allerdings stell ich mir die Frage warum du das Device über send_payload steuerst. Du müsstest eigentlich die States State und Position haben, in die du den Ziel-Zustand hinein schreiben kannst.

          Zeig doch mal die Objekte des Geräts.

          A.

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

          F 1 Reply Last reply
          0
          • AsgothianA Asgothian

            @fiddle Deinem Log-Auszug fehlen die Zeitstempel. Das macht es schlechter lesbar.

            Die Meldung

            Send command to 0x0ceff6fffea851cb failed with no error code (Timeout - 57809 - 1 - 9 - 258 - 11 after 10000ms)
            

            deutet darauf hin das das Gerät nicht antwortet.

            Allerdings stell ich mir die Frage warum du das Device über send_payload steuerst. Du müsstest eigentlich die States State und Position haben, in die du den Ziel-Zustand hinein schreiben kannst.

            Zeig doch mal die Objekte des Geräts.

            A.

            F Offline
            F Offline
            fiddle
            wrote on last edited by
            #5

            @asgothian bin jetzt unterwegs, daher nur als Text: Die genannten Objekte habe ich, die bekommen auch schlüssige Werte wenn die Geräte ein update von sich aus senden.
            Habe ich die Instruktionen auf der im ersten Post verlinkten Seite falsch gedeutet? Da steht ja, dass man diese Zustände eben nicht "schreiben" ="setzen" kann, sondern das eben über diesen (Um)Weg machen muss. Hatte meine ich anfangs mal aus Gewohnheit versucht da was reinzuschreiben bevor ich oben Verlinktes gelesen hatte, hatte meine ich nicht funktioniert, daher dann dieser Weg "wie er im Buche steht" . Kann Samstag Abend wieder testen...

            1 Reply Last reply
            0
            • F Offline
              F Offline
              fiddle
              wrote on last edited by
              #6

              Hab' da gestern noch weiter mit rumgespielt. Scheinbar sind die Dinger etwas unzuverlässig erreichbar, obwohl die Signalstärke >60 ist und sie auch regelmäßig ihren Status melden. Kommandos senden geht mal mehrmals nacheinander, dann wieder reagieren sie nicht.

              Kommandos Senden geht tatsächlich auch über beschreiben der Objekte für "State", "Position", oder eben über den oben genannten send_payload weg. Bei dem bleibe ich, denn nur so kann ich über die eigentlichen Objekte zuverlässig den tatsächlichen Stand der Dinger rückgemeldet bekommen. Schreibe ich direkt in State oder Position, dann steht da ja der Wert drin den ich haben will - aber nicht der, den die Teile tatsächlich erreicht haben. Daher macht es schon Sinn diese Objekte als "read only" zu betrachten (für mich).

              Eine Seltsamkeit dieser Dinger, falls die mal einer verbaut: Man kann ihnen beibringen wie sie "close" bzw "100%" interpretieren bzw. "meinen" sollen. Dafür gibt es die Option invert_cover. Entweder entspricht

              • "open"=100% Stoff eingerollt, "close"=0% Stoff eingerollt (=alles abgerollt);
              • "open"=0% (alles abgerollt), "close"=100% (alles eingerollt).

              Kann man über die Fernbedienung an den Dingern umschalten.
              Ich habe für mich die Logik gewählt: "100% eingerollt = open = wie ein Fensterladen: Offen heißt, ich lasse 100% Licht ins Zimmer, kann 100% raus gucken".

              Aber das ist nicht der springende Punkt. Egal welche Einstellung man setzt, man muss den Dingern scheinbar immer den "State" abverlangen, den man eigentlich schon HAT. Also, das Ding sagt in seine, "State" Objekt: ich bin "CLOSED". Wenn ich nun "OPEN" erreichen will, muss ich trotzdem CLOSED als Befehl senden, nicht OPEN wie man erwarten würde. Und umgekehrt. Und das, egal wie ich obige "Interpretation" einstelle. Sehr seltsam...aber funktioniert.

              Nunja, scheinbar nutzbar wenn man im Normalfall halt einmal schließt, und viel später wieder öffnet. Werde beobachten, ob das hinreichend zuverlässig läuft an Sonnentagen.

              AsgothianA 1 Reply Last reply
              0
              • F fiddle

                Hab' da gestern noch weiter mit rumgespielt. Scheinbar sind die Dinger etwas unzuverlässig erreichbar, obwohl die Signalstärke >60 ist und sie auch regelmäßig ihren Status melden. Kommandos senden geht mal mehrmals nacheinander, dann wieder reagieren sie nicht.

                Kommandos Senden geht tatsächlich auch über beschreiben der Objekte für "State", "Position", oder eben über den oben genannten send_payload weg. Bei dem bleibe ich, denn nur so kann ich über die eigentlichen Objekte zuverlässig den tatsächlichen Stand der Dinger rückgemeldet bekommen. Schreibe ich direkt in State oder Position, dann steht da ja der Wert drin den ich haben will - aber nicht der, den die Teile tatsächlich erreicht haben. Daher macht es schon Sinn diese Objekte als "read only" zu betrachten (für mich).

                Eine Seltsamkeit dieser Dinger, falls die mal einer verbaut: Man kann ihnen beibringen wie sie "close" bzw "100%" interpretieren bzw. "meinen" sollen. Dafür gibt es die Option invert_cover. Entweder entspricht

                • "open"=100% Stoff eingerollt, "close"=0% Stoff eingerollt (=alles abgerollt);
                • "open"=0% (alles abgerollt), "close"=100% (alles eingerollt).

                Kann man über die Fernbedienung an den Dingern umschalten.
                Ich habe für mich die Logik gewählt: "100% eingerollt = open = wie ein Fensterladen: Offen heißt, ich lasse 100% Licht ins Zimmer, kann 100% raus gucken".

                Aber das ist nicht der springende Punkt. Egal welche Einstellung man setzt, man muss den Dingern scheinbar immer den "State" abverlangen, den man eigentlich schon HAT. Also, das Ding sagt in seine, "State" Objekt: ich bin "CLOSED". Wenn ich nun "OPEN" erreichen will, muss ich trotzdem CLOSED als Befehl senden, nicht OPEN wie man erwarten würde. Und umgekehrt. Und das, egal wie ich obige "Interpretation" einstelle. Sehr seltsam...aber funktioniert.

                Nunja, scheinbar nutzbar wenn man im Normalfall halt einmal schließt, und viel später wieder öffnet. Werde beobachten, ob das hinreichend zuverlässig läuft an Sonnentagen.

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                wrote on last edited by
                #7

                @fiddle sagte in ZigBee und send_payload ... ging genau EIN Mal:

                Kommandos Senden geht tatsächlich auch über beschreiben der Objekte für "State", "Position", oder eben über den oben genannten send_payload weg. Bei dem bleibe ich, denn nur so kann ich über die eigentlichen Objekte zuverlässig den tatsächlichen Stand der Dinger rückgemeldet bekommen. Schreibe ich direkt in State oder Position, dann steht da ja der Wert drin den ich haben will - aber nicht der, den die Teile tatsächlich erreicht haben. Daher macht es schon Sinn diese Objekte als "read only" zu betrachten (für mich).

                An dieser Stelle ist der Status “bestätigt” interessant. Wenn du einen wert in den state schreibst, dann als “Vorgabe”, sprich umbestätigt mit dem steuere Baustein (Blockly) oder ack=false (JS). Wenn der Adapter diesen Befehl abgearbeitet hat und vom Gerät eine Rückmeldung bekommt wird diese mit Bestätigung geschrieben. Über den Status kannst du also feststellen ob der wert von Dir oder vom Adapter kommt. Nur so zur Info. Wenn du mit dem send_payload hin kommst dann ist das auch gut.

                A.

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

                F 1 Reply Last reply
                0
                • AsgothianA Asgothian

                  @fiddle sagte in ZigBee und send_payload ... ging genau EIN Mal:

                  Kommandos Senden geht tatsächlich auch über beschreiben der Objekte für "State", "Position", oder eben über den oben genannten send_payload weg. Bei dem bleibe ich, denn nur so kann ich über die eigentlichen Objekte zuverlässig den tatsächlichen Stand der Dinger rückgemeldet bekommen. Schreibe ich direkt in State oder Position, dann steht da ja der Wert drin den ich haben will - aber nicht der, den die Teile tatsächlich erreicht haben. Daher macht es schon Sinn diese Objekte als "read only" zu betrachten (für mich).

                  An dieser Stelle ist der Status “bestätigt” interessant. Wenn du einen wert in den state schreibst, dann als “Vorgabe”, sprich umbestätigt mit dem steuere Baustein (Blockly) oder ack=false (JS). Wenn der Adapter diesen Befehl abgearbeitet hat und vom Gerät eine Rückmeldung bekommt wird diese mit Bestätigung geschrieben. Über den Status kannst du also feststellen ob der wert von Dir oder vom Adapter kommt. Nur so zur Info. Wenn du mit dem send_payload hin kommst dann ist das auch gut.

                  A.

                  F Offline
                  F Offline
                  fiddle
                  wrote on last edited by
                  #8

                  @asgothian Danke für die Erklärung zu "ACK". Ich nutze NodeRed, vermutlich lässt sich das da auch umsetzen, habe ich aber noch nirgends gebraucht in meinen diversen Bastellwerken...

                  Zu meinem Problem hier: langsam habe ich eher die Antenne des einen Antriebs im Verdacht. Schlechte Verbindung zu einer Dose, die dann weiter verteilt, während der andere Antrieb (in absolut ähnlicher Montageposition) satte Verbindung zu einer Dose hält, die an dem "unzuverlässigen" viel näher dran ist. Muss ich mal weiter fummeln... die über kreuz montiert hängen... reklamieren... mal sehen. Liegt jedenfalls wohl nicht am Adapter.

                  mickymM 1 Reply Last reply
                  0
                  • F fiddle

                    @asgothian Danke für die Erklärung zu "ACK". Ich nutze NodeRed, vermutlich lässt sich das da auch umsetzen, habe ich aber noch nirgends gebraucht in meinen diversen Bastellwerken...

                    Zu meinem Problem hier: langsam habe ich eher die Antenne des einen Antriebs im Verdacht. Schlechte Verbindung zu einer Dose, die dann weiter verteilt, während der andere Antrieb (in absolut ähnlicher Montageposition) satte Verbindung zu einer Dose hält, die an dem "unzuverlässigen" viel näher dran ist. Muss ich mal weiter fummeln... die über kreuz montiert hängen... reklamieren... mal sehen. Liegt jedenfalls wohl nicht am Adapter.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #9

                    @fiddle sagte in ZigBee und send_payload ... ging genau EIN Mal:

                    Danke für die Erklärung zu "ACK". Ich nutze NodeRed, vermutlich lässt sich das da auch umsetzen, habe ich aber noch nirgends gebraucht in meinen diversen Bastellwerken...

                    In der iobroker-out Node:
                    Type command = ACK false
                    Type value = ACK true

                    Steuern über Datenpunkte eines Adapters immer mit command. Value nur für speicherung eigener Werte in 0_userdata.0

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    761

                    Online

                    32.7k

                    Users

                    82.4k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe