NEWS
jarvis v3.0.0 - just another remarkable vis
-
@mcu sagte in jarvis v3.0.0 - just another remarkable vis:
Hing auch damit zusammen, dass mehrere Inputfelder in der StateList nacheinander eingestellt waren, so wie bei Dir.
Okay. Cool. Vielen Dank für die schnelle Antwort und Hilfe!!
-
@MCU
Bin gerade auf die neueste Version von Jarvis gewechselt 3.1.0 Beta 28.Erst einmal funktioniert nun das Binding, sehr gut!!!! Vielen DANK!!!!
Im Vergleich zum alten Jarvis taucht nun die "setTemperature" 2x auf, in der obersten Zeile 11 Grad. Das war zuvor nur einmal da (in blau).
Wie kriege ich dies wieder weg, d.h. in der obersten Zeile benötige ich das graue 11 Grad nicht?!
-
@uwe72 InputAction rausnehmen.
-> also eine InputAction auswählen und wieder löschen -> leeres Feld. -
@mcu Perfekt. Hat funktioniert. Vielen Dank!!
-
Ich wollte nochmal fragen wegen meinem oben beschriebenen Problem mit den Rolladen: https://forum.iobroker.net/topic/49776/jarvis-v3-0-0-just-another-remarkable-vis/3243?_=1668811592821
Da ich ja den Trigger "SetPos" abfrage funktioniert das ja nicht so wie gewollt.
Wie kann ich im Blockly abfragen ob der Taster am Widget für den Rolladen gedrückt wurde?
MfG
Patrick -
@marsmännchen Zeig mal bitte die DPs aus dem Buero für Rollladen.
-
@mcu
Ok.
Also das sind Alias mit val/2.55 und val*2.55 weil die WagoPFC200 0-255 braucht.
Die Aktuelle Position von der Wago ist so:{ "type": "state", "common": { "name": "BueroActualPos", "role": "level.blind", "type": "number", "unit": "%", "min": 0, "max": 100, "read": true, "write": false, "alias": { "id": "modbus.0.inputRegisters.5_byOGRollBueroActualPos", "read": "val/2.55" } }, "_id": "alias.0.Rolladen.Buero.BueroActualPos", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1667419968860, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Und der Setpoint ist so:
{ "type": "state", "common": { "name": "BueroSetPos", "role": "level.blind", "type": "number", "read": true, "write": true, "alias": { "id": "modbus.0.holdingRegisters.32005_byOGRollBueroSetPos", "read": "val/2.55", "write": "val*2.55" }, "unit": "%", "min": 0, "max": 100 }, "_id": "alias.0.Rolladen.Buero.BueroSetPos", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1667419894282, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@marsmännchen
Wie lange dauert es bis die ActualPos aktualisiert wird und stehen bleibt, wenn man mit setPos einen Wert vorgibt?
Also,wenn man bei setPos 40 einträgt.
Kannst du ein GIF erstellen, damit man es sehen kann. (screenToGif)
Mit welchem DP setzt ein STOP? -
@mcu
Ich installiere jetzt mal screen to Gif.
Stop DP brauche ich eigentlich nicht. Wenn ich z.B. Rauf Taste drücke dann fährt er bis Setpoint 100 und stoppt dann, oder bei runter ist Setpoint 0. -
@marsmännchen Und dann ist der ActualPos dann auch 0 (unten) und 100 (oben)?
Wie ist dann der ActualPos, wenn du von Deinem anderen Gerät die Position veränderst? -
@mcu
Ja ist dementsprechend 0 oder 100.
Durch Änderung von anderen Geräten (Taster neben Rolladen oder orig.Visu) ist die ActualPos immer die aktuelle Position weil die PFC200 mitzählt wie lange das Relais TRUE ist.
Es wird wohl eher ein Denkfehler in meinem Blockly sein.
Wenn SetPos geändert dann...
Aber wenn ich in Jarvis zuletzt runter (setpoint 0) gefahren bin und mit der Hand rauf dann bleibt der Setpoint ja für das nächste mal runter fahren per Jarvis ja immer noch 0.
Somit löst der Trigger nicht aus, weil Setpoint ja nicht geändert, weil immer noch 0.
-
@marsmännchen Dann musst du auf ActualPos triggern und dann bei unterschiedlichen Werten, nach einer bestimmten Zeit den setPos gleich setzen.
Bei einer Fahrt wird ja jede Sekunde ein Wert in ActualPos geschrieben. Also muss man abfragen, wann sich der Wert von ActualPos 2 Sekunden nicht geändert hat und dann prüfen, ob setPost ungleich ActualPos ist und dann setzen. -
@mcu
Ja ich glaube ich verstehe was du meinst.
Gäbe es noch eine Möglichkeit vom Jarvis Widget zu triggern? So quasi, " wenn einer der Taster aktualisiert"?
Habe für Jarvis Widgets keine Datenpunkte gefunden. Die wird man irgendwie erstellen müssen. -
@marsmännchen Wäre in Deinem Fall nicht sinnvoll. Könnte man, dann müsste man aber dafür zusätzliche DPs erstellen.
Aber für Deinen Fall reicht ein Blockly mit dem ActualPos Trigger. -
@mcu
Nein, geht auch nicht. Da fährt er wirr rauf und runter. Muss ich tagsüber wenn ich daheim bin nochmal nachforschen.
Hängt vermutlich mit dem dazugehörigen Blockly zusammen welches den Trigger an die PFC200 sendet welcher gesetzt werden muss wenn die SetPos geändert wird. (damit die PFC200 weiß das die Position angefahren werden soll)<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="SxeTbGiamD5QSeh4hkj." x="163" y="2113"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="pM0+HfZSW,ukViW%v}X0"> <field name="oid">modbus.0.holdingRegisters.32005_byOGRollBueroSetPos</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="c)V1#2*.%|bIo-mH,0ya"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="49S:4v[apL|bM01!4kSJ"> <field name="TEXT">setpos geändert</field> </shadow> </value> <next> <block type="timeouts_cleartimeout" id="MA]|cG0gGVKs!6tWL;_a"> <field name="NAME">timeout</field> <next> <block type="debug" id="#wo@s:V#nAc`@ggs%,tG"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="]?F]]exBuuQDFiO@oW76"> <field name="TEXT">trigpos true</field> </shadow> </value> <next> <block type="control" id="Eus5B@VM#1yxEhVGlE5%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">modbus.0.coils.32768_xOGRollBueroTrigPos</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="#fP/J.Cv}bN`3uA5911|"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="N*iT!/Yp`b:.XY/r1He#"> <field name="NAME">timeout14</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="debug" id="[J=#j)(R|Kr1GM_sk7Uo"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="uM{$k=ukrK^@VozLXY+,"> <field name="TEXT">trigpos false</field> </shadow> </value> <next> <block type="control" id="QT{*|bD|F?TGs__b1:e*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">modbus.0.coils.32768_xOGRollBueroTrigPos</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="+(MTi=|/9/`EOAT!4wno"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
-
@marsmännchen Wie sieht denn mein Blockly bei Dir aus? Bitte als Bild.
-
@mcu
Nicht sag ich kann nicht mal abschreiben... -
@marsmännchen timeout13 setzen stop
-
@mcu
wirklich wahr..kotz -
wow, das sieht gut aus!!
Ich glaube du hast das Problem gelöst!!
Danke sehr!