NEWS
Bitte Testen: Z-Wave Associations UI und Include Fix
-
Ne danke Apollon, installieren wie oben beschrieben ging
Bin nach wie vor Happy mit dem Adapter, bisher läuft alles Bombe. Einzige was mit aufgefallen ist, dass es noch den Fehler gibt, dass die Objektwerte nicht richtig dargestellt werden. Im Historytracking jedoch schon. Beispiel: Temperaturmessung Rauchmelder zeigt im Objektpunkt 0 Grad und in der History die richtige Temperatur. Stört mich aber nicht weiter, wenn weiterhin alles so gut läuft. Wollte es nur melden
PS: Ansicht aktualisieren und Cache löschen habe ich natürlich versucht, Browser Safari
-
Hast du mal nen Beispiel für das genannte Problem?
-
Gerne, hier
2548_bildschirmfoto_2017-07-10_um_10.51.43.png -
Interessant, was steht dann im MouseOver Tooltip wenn Du über den Wert in der normalen UI (nicht History) gehst?
-
Auch Null Mit nem Datumswert, der in der History gar nicht auftaucht :?:
2548_bildschirmfoto_2017-07-10_um_11.39.37.png -
Seltsam, kannst du mal die Objektkonfiguration (RAW) hier posten?
Welche JS-Controller und Admin Version?
-
-
Admin ist Version 1.7.6
und Javascript Version ist 3.3.8 `
Admin Version ist richtig, die JS-Controller Version findest du im Tab "Hosts" in der Spalte "installiert".> Da verstehe ich leider nicht was ich machen soll :oops: Meinst die Z-Wave Parameter Config?
Bei dem Objekt rechts auf den Stift gehen und dann den Text im Tab "raw" kopieren und hier in ein "Code" Tag einfügen. -
Admin Version ist richtig, die JS-Controller Version findest du im Tab "Hosts" in der Spalte "installiert". `
Das kannte ich noch gar nicht :oops: :lol: Installiert 0.17.2 Verfügbar 1.0.3, sollte ich vielleicht mal updaten oder? :lol:
Bei dem Objekt rechts auf den Stift gehen und dann den Text im Tab "raw" kopieren und hier in ein "Code" Tag einfügen. `
So?
{ "common": { "name": "Temperature", "type": "number", "role": "value.temperature", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": 1000, "maxLength": 10, "retention": 31536000, "changesRelogInterval": 0, "changesMinDelta": 0 } } }, "native": { "value_id": "31-49-1-1", "type": "decimal", "genre": "user", "label": "Temperature", "units": "", "help": "", "node_id": 31, "class_id": 49, "instance": 1, "index": 1, "min": 0, "max": 0, "read_only": true, "write_only": false, "is_polled": false }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "zwave.0.NODE31.SENSOR_MULTILEVEL.Temperature_1", "type": "state" }
-
native … min=0, max=0 ?!
-
Ok ergibt Sinn :lol: Ich hab aber da nix geändert. Nur zum Verständnis, dann müssen ja die Datenpunkte falsch angelegt werden oder? Und wieso zeichnet dann History richtig auf? Greif das nicht auch nur auf die Datenpunkte zu?
-
Mir ist auch schon aufgefallen, dass unter Native min max bei allen Z-Wave Objekten 0 ist. Das hat aber keine Auswirkungen, da min und max unter "common" gehören. Unter Native ist nur all das, was Open Z-Wave über das Objekt berichtet.
> Das kannte ich noch gar nicht :oops: :lol: Installiert 0.17.2 Verfügbar 1.0.3, sollte ich vielleicht mal updaten oder? :lol:
Das würde ich empfehlen, am besten aber nicht in ioBroker, sondern erst ioBroker stoppen "iobroker stop" und dann "iobroker upgrade self". Bei einem RPI / Linux jeweil mit "sudo" vor dem Befehl.Falls dies nicht hilft könntest du testweise auch mal die Entprellzeit bei History für dieses Objekt auf 0 setzen. Evtl. werden tatsächlich 0-Werte gesendet, aber wegen der Entprellzeit nicht in History geschrieben .
-
Falls dies nicht hilft könntest du testweise auch mal die Entprellzeit bei History für dieses Objekt auf 0 setzen. Evtl. werden tatsächlich 0-Werte gesendet, aber wegen der Entprellzeit nicht in History geschrieben . `
Neeeee, Entprellung funktioniert so das in jedem Fall der letzte Wert geschrieben wird. Er hat aktuell 1s Entprellzeit - also wenn 0 nach dem echten Wert käme dann würde die 0 anstelle des echten Werts geloggt werden.
Deshalb meine Frage nach dem Inhalt des 0er States - also man mouse over über den Wert unter "Objekte". Was steht da?
-
Hatte er schon gezeigt, auch 0.0.
http://forum.iobroker.net/viewtopic.php … 844#p74832
Ich denke das beste wäre erstmal ioBroker upzugraden.
EDIT: Wobei die Zeitstempel nicht mit denen aus History übereinstimmen.
-
Ah … danke jetzt gesehn ...
Und genau ... die 0 beim Objekt ist FRÜHER als im History ... da passt irgendwas nicht zusammen ...
Ja, updaten und dann browser cache löschen und neu laden, dann nochmal bitte schauen was Objektwert und History machen.
Gabs irgend einen Crash? Weil sowas kann an sich nur passieren wenn das Statefile irgendwie "alt" ist
-
Gabs irgend einen Crash? Weil sowas kann an sich nur passieren wenn das Statefile irgendwie "alt" ist `
Ne eigentlich nicht. ioBroker lief immer Bombe bis auf den Z Wave Adapter der machte immer Probleme ohne Ende bis sich Pman meiner erbarmt hat
Den Anfang kannst hier nachlesen, falls es dich interessiert:
http://forum.iobroker.net/viewtopic.php?f=20&t=7046
Apropos Entprellzeit… Verstehe zwar leider wieder nicht alles aber kann die auch damit zutun haben, dass sich das Z Wave Device manchmal zwar richtig einschaltet aber dann unter einer Sekunde gleich wieder ausschaltet? Dachte das hängt eher mit den Skripten zusammen, die ich mir gebastelt habe als Geräteeinhängepunkte. So in der Richtung,
!
var Helper_B_ZS1, timeout3, timeout5; ! // Bad Sonos on({id: "zwave.0.NODE3.SWITCH_BINARY.Switch_1"/*Switch*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (Helper_B_ZS1 != 1) { setStateDelayed('javascript.0.1.B.ZS1_An', (function (){var val = getState("zwave.0.NODE3.SWITCH_BINARY.Switch_1").val; if (val === 'true') return true; if (val === 'false') return false; return !!val;})(), true, parseInt(0, 10), false); Helper_B_ZS1 = 1; timeout3 = setTimeout(function () { Helper_B_ZS1 = 0; }, 3000); } }); on({id: "javascript.0.1.B.ZS1_An"/*1.B.ZS1_An (Sonos Bad)*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (Helper_B_ZS1 != 1) { setState("zwave.0.NODE3.SWITCH_BINARY.Switch_1"/*Switch*/, (function (){var val = getState("javascript.0.1.B.ZS1_An").val; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()); Helper_B_ZS1 = 1; timeout5 = setTimeout(function () { Helper_B_ZS1 = 0; }, 3000); } }); on({id: "zwave.0.NODE3.SENSOR_MULTILEVEL.Power_1"/*Power*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setStateDelayed('javascript.0.1.B.ZS1_Stromverbrauch', parseFloat(getState("zwave.0.NODE3.SENSOR_MULTILEVEL.Power_1").val), true, parseInt(0, 10), false); }); !
habs aber mit Blockly gescriptet:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id=":}fDw]7]W3?8ehU-g:vp" x="113" y="38"><field name="COMMENT">Bad Sonos</field>
<next><block type="on" id="?:W_Bt{Hv:=Gq(@iZD8?"><field name="OID">zwave.0.NODE3.SWITCH_BINARY.Switch_1</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="tKAUqLpq7N)#|K3YqXx,"><value name="IF0"><block type="logic_compare" id="v2WI85mp|n~uZ0bEZ`C}"><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="=[|neoWS/CW-YX4a,.SI"><field name="VAR">Helper.B.ZS1</field></block></value> <value name="B"><block type="math_number" id="JlgM_EAP@KQy[G`-~NqM"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="control_ex" id="7sU`#Mek?5DIx+D=Ku*u"><field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"><shadow type="field_oid" id="hNM[tf0+|y2#a/rnkLq`"><field name="oid">javascript.0.1.B.ZS1_An</field></shadow></value> <value name="VALUE"><shadow type="logic_boolean" id="z_1R;qCiVu?fA8]WG`r}"><field name="BOOL">TRUE</field></shadow> <block type="convert_toboolean" id="ZT.WX*Qx7[bI^(n[u[O,"><value name="VALUE"><block type="get_value" id="W{?+a:Xa0PI[U9R4O,D!"><field name="ATTR">val</field> <field name="OID">zwave.0.NODE3.SWITCH_BINARY.Switch_1</field></block></value></block></value> <value name="DELAY_MS"><shadow type="math_number" id="P]0Gcj]%.+WFvqM-%#|("><field name="NUM">0</field></shadow></value> <next><block type="variables_set" id="a}M+|ak*`4*@V4~;|Zhm"><field name="VAR">Helper.B.ZS1</field> <value name="VALUE"><block type="math_number" id="qiwij+]lCQw-]GoG^QRD"><field name="NUM">1</field></block></value> <next><block type="timeouts_settimeout" id="%I;igD.58v!dqt]C^#hZ"><field name="NAME">timeout3</field> <field name="DELAY">3000</field> <statement name="STATEMENT"><block type="variables_set" id="txSNTE*?lJ7HuG#V5]eC"><field name="VAR">Helper.B.ZS1</field> <value name="VALUE"><block type="math_number" id="VUCQ`?}_ZHtQvcJ]`U12"><field name="NUM">0</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> <next><block type="on" id="BYUgO}T8mDt|Cz|FV07b"><field name="OID">javascript.0.1.B.ZS1_An</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="k?0)/Lo_qY|zlN7/lb)F"><value name="IF0"><block type="logic_compare" id="9-@fN[+cxKgbUiMh.j+M"><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="*H,K;9p~`m|_b/9xkcwQ"><field name="VAR">Helper.B.ZS1</field></block></value> <value name="B"><block type="math_number" id="[mR=N:Va]RTF+n1kDFOa"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="control" id="oK(St?E[FC0:GJQ%2/_c"><mutation delay_input="false"></mutation> <field name="OID">zwave.0.NODE3.SWITCH_BINARY.Switch_1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="convert_toboolean" id="fm:]YI,9o~]zym4YW56`"><value name="VALUE"><block type="get_value" id="TvX1SJpYTP4:R2KOKJ4Y"><field name="ATTR">val</field> <field name="OID">javascript.0.1.B.ZS1_An</field></block></value></block></value> <next><block type="variables_set" id=":]W1xI@VsZ)lsfw`D*,K"><field name="VAR">Helper.B.ZS1</field> <value name="VALUE"><block type="math_number" id="eNhSeEuHTf7AAeb[UC=X"><field name="NUM">1</field></block></value> <next><block type="timeouts_settimeout" id="C=gQ+E@F2zpmLj?vL5rg"><field name="NAME">timeout5</field> <field name="DELAY">3000</field> <statement name="STATEMENT"><block type="variables_set" id="s3W(~]a(|VK6h?o.w9t/"><field name="VAR">Helper.B.ZS1</field> <value name="VALUE"><block type="math_number" id="NIwe61qzv#vMkDMz^t6M"><field name="NUM">0</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> <next><block type="on" id="Cd!ZSs]E]*w^~8#*?tK8"><field name="OID">zwave.0.NODE3.SENSOR_MULTILEVEL.Power_1</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="control_ex" id="QR9:-bp7vwSSY[{@w[fk"><field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"><shadow type="field_oid" id="cy+?~TwSZ?iI%K4aVH)Y"><field name="oid">javascript.0.1.B.ZS1_Stromverbrauch</field></shadow></value> <value name="VALUE"><shadow type="logic_boolean" id="midveARHqhv^*e.O(!/I"><field name="BOOL">TRUE</field></shadow> <block type="convert_tonumber" id="t~QjQ:e|lr[gafZKu{h;"><value name="VALUE"><block type="get_value" id="#l+5ruLjr`}}n#4fk[Q4"><field name="ATTR">val</field> <field name="OID">zwave.0.NODE3.SENSOR_MULTILEVEL.Power_1</field></block></value></block></value> <value name="DELAY_MS"><shadow type="math_number" id="HS170e5lPZgIjWZlxJ7m"><field name="NUM">0</field></shadow></value></block></statement></block></next></block></next></block></next></block></xml>
Brauchte ne Notlösung, weil ich ja jeden Tag mindestens ein Gerät löschen und neu anlernen musste. Und so habe ich immer nur den Datenpunkt in dem einen Skript ändern müssen… Pman hat mich damals auf die Idee gebracht, weiß nur nicht ob ich es richtig umgesetzt habe. ~~@Pman:~~ > Das würde ich empfehlen, am besten aber nicht in ioBroker, sondern erst ioBroker stoppen "iobroker stop" und dann "iobroker upgrade self". Bei einem RPI / Linux jeweil mit "sudo" vor dem Befehl. ` Danke probier ich gleich Pman ;) Ich liebe den Threat, da werden alle meine Probleme gelöst :lol:
-
Das updaten hat geholfen, Daten stimmen jetzt überein und bin noch immer Happy mit dem Adapter Sollte noch was sein schreie ich Nochmal danke Pman
-
Ich habe für den Z-Wave Associations Patch von AlCalzone ein kleines UI zum Konfigurationspanel hinzugefügt und würde mich über Tests freuen. `
Sehr schön, werde ich die Tage mal testen!Ebenfalls habe ich den Include und Exclude Vorgang verbessert, bzw. es zumindest versucht. Auch hier wäre ich für Feedback dankbar. `
Was hast du da genau geändert? -
Was hast du da genau geändert? `
-
Verhindern weiterer Befehle, während Include oder Exclude läuft.
-
automatisches Beenden von Include und Exclude, nachdem ein Gerät bearbeitet wurde
-
Button um Include und Exclude manuell zu beenden
-
-
Die Änderungen sind jetzt in 0.7.0 auf Github drin.
Sollte man es nochmal zum testen geben oder veröffentlichen? Was denkt Ihr?