NEWS
Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]
-
Hallo,
habe Koordinaten vom Xiaomi Vibrationssensor per deconz Adapter mit folgende Werten Werte wenn Dachfenster zu ist:
[6,-48,-41]
Wichtig ist mir hier der Wert 48 bzw der letzte 41 ist noch wichtiger und sollte reichen.
Das ganze muss ich dann in Blockly nutzen können. Denke mal das es so nicht gehen wird.
Daher vielleicht per script und regex als neuen einzelnen Wert im Objekt speichern ?
Da kenne ich mich leider 0 aus.
Würde das gehen ? Z.b in dem Objekt wo ich [6,-48,-41] her habe ( deconz.0.Sensors.11.orientation )
dann werte hinzufügen mit X Y Z -
Hallo,
habe Koordinaten vom Xiaomi Vibrationssensor per deconz Adapter mit folgende Werten Werte wenn Dachfenster zu ist:
[6,-48,-41]
Wichtig ist mir hier der Wert 48 bzw der letzte 41 ist noch wichtiger und sollte reichen.
Das ganze muss ich dann in Blockly nutzen können. Denke mal das es so nicht gehen wird.
Daher vielleicht per script und regex als neuen einzelnen Wert im Objekt speichern ?
Da kenne ich mich leider 0 aus.
Würde das gehen ? Z.b in dem Objekt wo ich [6,-48,-41] her habe ( deconz.0.Sensors.11.orientation )
dann werte hinzufügen mit X Y Z@ChrisXY sagte in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
Das ganze muss ich dann in Blockly nutzen können
es gibt un Blockly unter Text den Baustein nimm Text ab x bis y buchstabe.
Damit müsstest du schneiden können.
Nach Zahl konvertieren nicht vergessen. -
hui klingt Kompliziert hab es aber mal nachgebaut leider scheint noch was nicht zu stimmen. Bekomme im Log beim Blockly
21:22:53.373 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:4:114)hier das Blockly
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="0O%[N?*o;L[-Z*e$cZ|l" x="138" y="-138"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="D!AT5%oNC0)%5Fi*DN5m"> <field name="oid">deconz.0.Sensors.11.orientation</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="agj5-y|}16ucKgXQ3uo2"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=P{+E-ep%]Qj0A?eeaKI"> <field name="OP">EQ</field> <value name="A"> <block type="math_number" id="av4wXWOb[R2;-Tndi^`-"> <field name="NUM">-71</field> </block> </value> <value name="B"> <block type="lists_getIndex" id="ki,3S|{@];cQtZ-gbVX?"> <mutation statement="false" at="false"></mutation> <field name="MODE">GET</field> <field name="WHERE">LAST</field> <value name="VALUE"> <block type="convert_json2object" id="yQ@b,SIl3S#5n}JX87}s"> <value name="VALUE"> <block type="on_source" id="@jF99~q{-,Z^{PB_{t/~"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="AIfc3XzI4/ne#!-Y|xGF"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="0yZgReeq@hej?P6pG?8m"> <field name="TEXT">OFFEN</field> </shadow> </value> </block> </statement> <statement name="ELSE"> <block type="telegram" id="$y;bd;9%]YI!fiFbe4cX"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="cO+0BbD;*4rYLa^uAje1"> <field name="TEXT">ZU</field> </shadow> </value> </block> </statement> </block> </statement> </block> </xml>Nicht wundern wegen 71 ist ein Testgerät
-
hui klingt Kompliziert hab es aber mal nachgebaut leider scheint noch was nicht zu stimmen. Bekomme im Log beim Blockly
21:22:53.373 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:4:114)hier das Blockly
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="0O%[N?*o;L[-Z*e$cZ|l" x="138" y="-138"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="D!AT5%oNC0)%5Fi*DN5m"> <field name="oid">deconz.0.Sensors.11.orientation</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="agj5-y|}16ucKgXQ3uo2"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=P{+E-ep%]Qj0A?eeaKI"> <field name="OP">EQ</field> <value name="A"> <block type="math_number" id="av4wXWOb[R2;-Tndi^`-"> <field name="NUM">-71</field> </block> </value> <value name="B"> <block type="lists_getIndex" id="ki,3S|{@];cQtZ-gbVX?"> <mutation statement="false" at="false"></mutation> <field name="MODE">GET</field> <field name="WHERE">LAST</field> <value name="VALUE"> <block type="convert_json2object" id="yQ@b,SIl3S#5n}JX87}s"> <value name="VALUE"> <block type="on_source" id="@jF99~q{-,Z^{PB_{t/~"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="AIfc3XzI4/ne#!-Y|xGF"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="0yZgReeq@hej?P6pG?8m"> <field name="TEXT">OFFEN</field> </shadow> </value> </block> </statement> <statement name="ELSE"> <block type="telegram" id="$y;bd;9%]YI!fiFbe4cX"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="cO+0BbD;*4rYLa^uAje1"> <field name="TEXT">ZU</field> </shadow> </value> </block> </statement> </block> </statement> </block> </xml>Nicht wundern wegen 71 ist ein Testgerät
-
hab nun noch mehr debug gemacht aber dann scheint das - weg zu sein:
21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71 21:39:54.897 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114) 21:40:03.279 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71 21:40:03.280 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114) -
Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?
@Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?
Stimmt .. hab nochmal geschaut der Wert steht so im Objekt: 1,19,71
Lag wohl am SQL .. sorry -
Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?
-
hab nun noch mehr debug gemacht aber dann scheint das - weg zu sein:
21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71 21:39:54.897 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114) 21:40:03.279 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71 21:40:03.280 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:8:114)@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

-
@Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
Dort scheinen keine eckigen Klammern im Datenpunkt zu stehen. Ist das bei dem anderen Gerät anders, wenn du den Log Baustein einfügst?
Stimmt .. hab nochmal geschaut der Wert steht so im Objekt: 1,19,71
Lag wohl am SQL .. sorry -
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

@Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

21:50:32.930 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,19,71
21:50:32.930 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:5:59)

@paul53 said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
@ChrisXY Was liefert das im Log ?

Das hier 21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71
-
@Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

21:50:32.930 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,19,71
21:50:32.930 error javascript.0 at Object.<anonymous> (script.js.Tests.Dachfenster-offen-check:5:59)

@paul53 said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
@ChrisXY Was liefert das im Log ?

Das hier 21:39:54.897 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,19,71
-
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

@Xyolyp said in Hilfe: Letzte zahl in Blockly vergleichen [6,-48,-41]:
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

Nach der anpassung hab ich folgendes im Log
- Debug und nach der liste:
21:57:40.368 info javascript.0 script.js.Tests.Dachfenster-offen-check: 1,18,72
21:57:40.391 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,1,89
21:57:43.976 info javascript.0 script.js.Tests.Dachfenster-offen-check: 0,1,89
21:57:45.035 info javascript.0 script.js.Tests.Dachfenster-offen-check: -1,19,71
Bekomme Push ZU geschickt .. aber offen nicht obwohl 71 da steht
EDIT: Hab das -71 in 71 getauscht und schon Klappt es :D DANKE
- Debug und nach der liste:
-
-
klappt

Edit: Kann ich statt der 71 auch ein Bereich Definieren quasi 65-75 ??
Und aktuell bekomme ich 4-5 Telegram Nachrichten bei Bewegung. Timeout um das falls mit 3 sekunden hat auch nichts gebracht. Wie Bremse ich das etwas ? -
@ChrisXY EDIT: Paul hat recht (ich hatte ehrlich gesagt noch keine Liste in meinen Logs gesehen und war davon ausgegangen, dass es ein Text ist. Dies scheint nicht der Fall zu sein. Nachdem das letzte Element aus der Liste geholt wurde muss möglicherweise noch zu einer Zahl konvertiert werden ;)

-
@Xyolyp sagte:
noch keine Liste in meinen Logs gesehen
Wenn Du den aktuellen Javascript-Adapter von Github installierst, werden Objekte / Arrays erkennbar im Log dargestellt.


