NEWS
Zigbee Adapter v3.3.5 und Javascript Adapter und Cube
-
Hallo Zusammen, jetzt hekomm ich gleich Schelte...
Wie magst du die Datenpunkte? Ein ScreenshotWenns die DPs sind müsste ich einfach die jetzigen
Datenpunkte löschen und Adapter neu starten oder?@Kusselin
Datenpunkte gerne als Screenshot. Und löschen und adapter neu starten wird nichts bringen - wenn die DP's sich ZHC zeitig geändert haben musst du entweder die Skripte anpassen oder über die ab 3.5.5 vorhandene Option modify_state die vom Adapter angelegten States ändern (riskant)A,
-
Leider fehlt der entscheidende Teil - das device selber wo ich sehen kann ob der Name insgesamt passt. Offensichtlich gibt es ein
.rotate_left, aber was ist mit demzigbee.0.00158d0027cf30f?Leider fehlt der entscheidende Teil - das device selber wo ich sehen kann ob der Name insgesamt passt. Offensichtlich gibt es ein
.rotate_left, aber was ist mit demzigbee.0.00158d0027cf30f?Und wie kann ich Dir den entscheidende Teil liefern?
Das hier?
{ "type": "state", "common": { "name": "rotate_left", "type": "boolean", "read": true, "write": false, "role": "button" }, "native": {}, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1786463170345, "_id": "zigbee.0.00158d00027cf30f.rotate_left", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } } -
Den Screenshot erweitern so das die 3 oder 4 Zeilen oberhalb von
actionauch sichtbar sind zeigt die entscheidende Info. Das was in_idsteht ist ein Hinweis, aber nicht unbedingt entscheidend.A.
@Asgothian da steht nix

der wird nicht aktualisier.. deshalb steht der rotate_left auch auf null
-
Hi, da steht oberhalb von ACTION NICHTS MEHR NUR NOCHBDIE ID VOM CUBE die ich einklagen kann. Wenn ich den cube hochwerfe und dann geht die A. Auch an, gleichzeitig triggerd der javascript die Fehler??
Wie und was kann ich machen um dir die gewünschte Info zukommen zu lassen?Aber man sieht ja an manchen Datenpunkten das "good".
Muss ich hier dann vielleicht erstmal alle "Gesten" durchgehen das da überall good steht?
-
Es geht gerade um die ID des Cube. Der datenpunkt den das Skript haben will scheint angeblich nicht da zu sein, aber dein Screenshot zeigt das er da ist. Also passt etwas mit der ID nicht. Der Eintrag
_idim Objekt wird beim erstellen gesetzt, aber z.bsp. Nicht beim importieren aus json aktualisiert.Das der DP einen Wert
nullhat kann die Fehler im Skript nicht erzeugen.A.
Nachtrag: zeig auch mal bitte das Skript.
-
Es geht gerade um die ID des Cube. Der datenpunkt den das Skript haben will scheint angeblich nicht da zu sein, aber dein Screenshot zeigt das er da ist. Also passt etwas mit der ID nicht. Der Eintrag
_idim Objekt wird beim erstellen gesetzt, aber z.bsp. Nicht beim importieren aus json aktualisiert.Das der DP einen Wert
nullhat kann die Fehler im Skript nicht erzeugen.A.
Nachtrag: zeig auch mal bitte das Skript.
Es geht gerade um die ID des Cube. Der datenpunkt den das Skript haben will scheint angeblich nicht da zu sein, aber dein Screenshot zeigt das er da ist. Also passt etwas mit der ID nicht. Der Eintrag
_idim Objekt wird beim erstellen gesetzt, aber z.bsp. Nicht beim importieren aus json aktualisiert.Das der DP einen Wert
nullhat kann die Fehler im Skript nicht erzeugen.A.
Nachtrag: zeig auch mal bitte das Skript.
Guten Morgen,
bringt dir das was....so? Wie kopiere ich ein komplettes Blockly?on({ id: [].concat(['zigbee.0.00158d00027cf30f.rotate_left']).concat(['zigbee.0.00158d00027cf30f.flip90']).concat(['zigbee.0.00158d00027cf30f.rotate_right']).concat(['zigbee.0.00158d00027cf30f.shake']).concat(['zigbee.0.00158d00027cf30f.tap']).concat(['zigbee.0.00158d00027cf30f.slide']).concat(['zigbee.0.00158d00027cf30f.flip180']).concat(['zigbee.0.00158d00027cf30f.fall']), change: 'ne' }, async (obj) => { if (getState('zigbee.0.00158d00027cf30f.rotate_left').val == true) { setStateDelayed('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume' /* volume */, (getState('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume').val - 5), 100, false); } if (getState('zigbee.0.00158d00027cf30f.rotate_right').val == true) { setStateDelayed('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume' /* volume */, (getState('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume').val + 5), 100, false); } if (getState('zigbee.0.00158d00027cf30f.flip90').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn' /* Phrase to play with TuneIn */, 'FFH iTunes Top 40'); } if (getState('zigbee.0.00158d00027cf30f.flip180').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn' /* Phrase to play with TuneIn */, 'YOU FM'); } if (getState('zigbee.0.00158d00027cf30f.slide').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn' /* Phrase to play with TuneIn */, 'ANTENNE BAYERN'); } if (getState('zigbee.0.00158d00027cf30f.fall').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn' /* Phrase to play with TuneIn */, 'radio SAW-Party'); } if (getState('zigbee.0.00158d00027cf30f.shake').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.controlPause' /* controlPause */, true); } if (getState('zigbee.0.00158d00027cf30f.tap').val == true) { setState('alexa2.0.Echo-Devices.G090XG0894360DF9.Player.controlPlay' /* controlPlay */, true); } });oder
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="#dU%bHFVm/~[XFv;e5M5" x="-287" y="-388"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="8"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="luObs(yNi=oW98s~lUkF"> <field name="oid">zigbee.0.00158d00027cf30f.rotate_left</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="|X5zwhq%~Zkbz~1R0r1^"> <field name="oid">zigbee.0.00158d00027cf30f.flip90</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id=":!;dbL6TpMMEGN+0WBIe"> <field name="oid">zigbee.0.00158d00027cf30f.rotate_right</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="Ig5d`gN3)^t%EXeY.S-Z"> <field name="oid">zigbee.0.00158d00027cf30f.shake</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="lkE{jhvkV[j=uBCI~?Qz"> <field name="oid">zigbee.0.00158d00027cf30f.tap</field> </shadow> </value> <value name="OID5"> <shadow type="field_oid" id="6Tv(MB{kY:1zhNR]B$X*"> <field name="oid">zigbee.0.00158d00027cf30f.slide</field> </shadow> </value> <value name="OID6"> <shadow type="field_oid" id="cL{yeW/ld7GDq$kIw.SC"> <field name="oid">zigbee.0.00158d00027cf30f.flip180</field> </shadow> </value> <value name="OID7"> <shadow type="field_oid" id="$B2-v8yXc{rE}@Vr*=~9"> <field name="oid">zigbee.0.00158d00027cf30f.fall</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu"> <value name="IF0"> <block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="05hB:}da}@CQX_^vBlC@"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.rotate_left</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ZT5]2tgD5CM]Of-|;}#F"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="}6;6~]L4/!BY.JwxYt#d"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="?Jr}iv/yilVo.s[Yu?mx"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="M|^U,9}PJ?Ze7Tp:0l-["> <field name="NUM">1</field> </shadow> <block type="get_value" id="YwLlb+nx4qTOJFvljerY"> <field name="ATTR">val</field> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="HvU;CRog.Utv3?toGeqk"> <field name="NUM">5</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="}CAVnkOHSlC0^OuF^Jgu"> <value name="IF0"> <block type="logic_compare" id="{H:^dKPD7}11B/qgk6JU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="`O~YYmKWdN!Mw72DDncL"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.rotate_right</field> </block> </value> <value name="B"> <block type="logic_boolean" id="FoREtBH+=iZ6hv|p8Fd@"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="w(o*h=O4naq)R:K(V7BZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="!_r@b%{RRXbB78L@gy=Q"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="M|^U,9}PJ?Ze7Tp:0l-["> <field name="NUM">1</field> </shadow> <block type="get_value" id="C({F@Kx^Xfa}LQ}:J.f?"> <field name="ATTR">val</field> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="%l[aeB:EcnIHkKMA1VTC"> <field name="NUM">5</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="T%b0W^#l-ZWU%w^7]WQ/"> <value name="IF0"> <block type="logic_compare" id="=(DbOS78=0MBQe=F%*.D"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DpgzqNoWjD?gGY|.nPM_"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.flip90</field> </block> </value> <value name="B"> <block type="logic_boolean" id="DkzF1(|Ey=3{V,DFkJfD"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="XSX3p0d(aQb.=Q`_;!Pl"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="-4]H.r+U_}1USc-uhv}_"> <field name="TEXT">FFH iTunes Top 40</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="3g/0(WCRy;oCL?_d8(.C"> <value name="IF0"> <block type="logic_compare" id="P-11~fV`Nv0~,i6Z]kfW"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*FX)kI39Db7wYP5[:xl+"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.flip180</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9ZzpRTsuv4C9x)%pr,Es"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!NUVA~(c4QgG]+~(E|^i"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vqzCyqOR/s6Y7s21%;[F"> <field name="TEXT">YOU FM</field> </block> </value> </block> </statement> <next> <block type="controls_if" id=",Fq$U/,8:7stB7Z*~Xtv"> <value name="IF0"> <block type="logic_compare" id=".cop*h-}DoYl2o8E@%5{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tew,S#WRiF^%yTMOm,+h"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.slide</field> </block> </value> <value name="B"> <block type="logic_boolean" id="]]lBl9XbxKIb%5WJ$Ja/"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="sOf=BcVH`:fZOEpzDS)-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="VN8FGL^,)9K;L|!rdwUS"> <field name="TEXT">ANTENNE BAYERN</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="L(VjI7c;qpbDvh5(w`.Y"> <value name="IF0"> <block type="logic_compare" id="M|9q*GjAQ9x`{[k}dca+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ro?b.ZMu3E=qk.NTo|l9"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.fall</field> </block> </value> <value name="B"> <block type="logic_boolean" id="s%[mn]65k*ugyLb_.=TL"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Db;0%17/~z}Bh%#w64wr"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Music-Provider.TuneIn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="6U$-BxPPddFN/,9!k]K$"> <field name="TEXT">radio SAW-Party</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="W|nOmNk7Ri}Fs|:3bNvo"> <value name="IF0"> <block type="logic_compare" id=".`5XJGz4u6:p[#j+uoBh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Tc#Gzin|@s,p7.86ILp/"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.shake</field> </block> </value> <value name="B"> <block type="logic_boolean" id="sH3Sm+bH^3l}+?.kIlZ*"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="E]3~1B]ZQQdBY9/459z["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.controlPause</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5t-IeJ[V[GI[`{3GfPg|"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="?jy5dedv*E!QXGSi|NNj"> <value name="IF0"> <block type="logic_compare" id="Nq,pYQn=QZIL]h`|k!{R"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="VfAn.8Ks0/7;o3resSQV"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d00027cf30f.tap</field> </block> </value> <value name="B"> <block type="logic_boolean" id="|36:z7/2Lb=#qES!gYLY"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="oJNg%*z]?4?HpsN(**@L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090XG0894360DF9.Player.controlPlay</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="A2(PP+y4,{@#nKdC)b:x"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml> -
Mit beidem komme ich klar - allerdings ist das Skript ungünstig geschrieben, es verschwendet Ressourcen durch ‘Multi-trigger’ (ja, intern wird der eine trigger Baustein in 9 einzelne trigger aufgelöst.) - in jedem davon holst du von 9 DP den Wert.
Ich würde dir empfehlen:
- Skript anpassen auf einen trigger auf den DP
action, Änderungist größer als vorher. Dessen Wert ist ein String, und der sollte aktiv werden bei jeder Aktion. - statt dem
get_state(im Blockly demWert von …Baustein) machst du einen Vergleich nach dem Musterwert== “rotate_left” (oder die anderen Aktionen).Wertist dabei ein Baustein aus dem trigger Bereich und beinhaltet den Wert des DP der den trigger ausgelöst hat.
Beispiel Screenshot (auf englisch) kann ich später nachliefern.
Damit sollten wir den Fehler auch weg bekommen ohne weiter zu analysieren, da du den trigger DP neu auswählst.
Die Information zur ObjektID ist noch nicht gepostet, und das bei der Auswahl alles korrekt zu sein scheint ist leider normal - Das Auswahlfenster erkennt die nicht vorhandenen states nur wenn du versuchst sie neu auszuwählen.
A.
- Skript anpassen auf einen trigger auf den DP
-
Mit beidem komme ich klar - allerdings ist das Skript ungünstig geschrieben, es verschwendet Ressourcen durch ‘Multi-trigger’ (ja, intern wird der eine trigger Baustein in 9 einzelne trigger aufgelöst.) - in jedem davon holst du von 9 DP den Wert.
Ich würde dir empfehlen:
- Skript anpassen auf einen trigger auf den DP
action, Änderungist größer als vorher. Dessen Wert ist ein String, und der sollte aktiv werden bei jeder Aktion. - statt dem
get_state(im Blockly demWert von …Baustein) machst du einen Vergleich nach dem Musterwert== “rotate_left” (oder die anderen Aktionen).Wertist dabei ein Baustein aus dem trigger Bereich und beinhaltet den Wert des DP der den trigger ausgelöst hat.
Beispiel Screenshot (auf englisch) kann ich später nachliefern.
Damit sollten wir den Fehler auch weg bekommen ohne weiter zu analysieren, da du den trigger DP neu auswählst.
Die Information zur ObjektID ist noch nicht gepostet, und das bei der Auswahl alles korrekt zu sein scheint ist leider normal - Das Auswahlfenster erkennt die nicht vorhandenen states nur wenn du versuchst sie neu auszuwählen.
A.
Mit beidem komme ich klar - allerdings ist das Skript ungünstig geschrieben, es verschwendet Ressourcen durch ‘Multi-trigger’ (ja, intern wird der eine trigger Baustein in 9 einzelne trigger aufgelöst.) - in jedem davon holst du von 9 DP den Wert.
O.K. das habe ich verstanden...im Blockly sind die 9 DP zusammen in diesem einen Trigger drin...das ist nicht gut sagst du..ok.
Gibts ev. noch einen Screenshot von einem ähnlichen Blockly oder J-Script das ich es mal sehen kann?
@Asgothian sagte:
Beispiel Screenshot (auf englisch) kann ich später nachliefern.ja das wäre für mich echt gut...ich hole mir die Blocklys halt von anderen Nutzern und bastel bzw. flicke die dann zusammen...
schau mal @asgothian ..so besser? Könnte es aber erst heute nachmittag testen..
- Skript anpassen auf einen trigger auf den DP
-
Bedingt. Bitte jedes auftreten dieses blocks

Durch diesen

Ersetzen.
Kannst du bitte das zweite bild komplett in der länge posten und das erste auch bitte.
@Kusselin beide Bilder sind aus dem Skript welche du gepostet hast. Dahinter steht in beiden fällen das gleiche. Es geht darum den Baustein “Wert von …” gegen den Baustein “Wert” aus dem trigger Bereich auszutauschen.
Längere Screenshots kann ich erst heute Abend machen.
-
Hab nun die Gesten nochmal nachgemacht und dann wurde aus dem „null“ ein „good“ und das script geändert ..nun kommen keine Fehlermeldungen mehr beim Gesten machen mit dem Cube..danke @asgothian
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

