NEWS
Test Adapter Digitalstrom 0.2.x
-
Ich habe mal zum testen ein kurzes simples Skript erstellt bei dem mit Einschalten der Tischleuchte im Büro (state = wahr) in Sonos "Radio Swiss Pop" gesetzt (favorites set) und dann abgespielt wird. Beim Ausschalten der Leuchte wird die Wiedergabe gestoppt. Funktioniert so auch bestens, aber das Problem ist, dass das Skript auch läuft, wenn ich die Deckenleuchte im Büro einschalte und mir ist nicht klar, weshalb.
-
@Dixielace was erwartest du jetzt von uns mit den Infos? Ich könnte jetzt raten. Zeig doch mal das Skript bzw Bau doch mal logging ins Skript ein. Dann solltest du doch sehen warum es auslöst.
-
Hallo zusammen,
bin Anfänger in Sachen iobroker. Ich würde gerne meine UMR die als Klingeltastereingang dient dazu bewegen beim betätigen einen Anruf auf ein Fritzfon zu senden.
Hab mal was getestet aber leider ohne Erfolg. Danke im voraus
BlocklyJavascriptTypeScript
18:50:36.800 info javascript.0 (6916) Stop script script.js.common.Klingel_-Gartentüre
18:50:36.815 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:50:36.815 info javascript.0 (6916) script.js.common.Klingel-Gartentüre: registered 5 subscriptions and 0 schedules
18:51:01.315 info javascript.0 (6916) Stop script script.js.common.Klingel-Gartentüre
18:51:01.315 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:51:01.315 info javascript.0 (6916) script.js.common.Klingel-Gartentüre: registered 2 subscriptions and 0 schedules
18:51:51.581 info javascript.0 (6916) Stop script script.js.common.Klingel-Gartentüre
18:51:51.581 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:51:51.581 info javascript.0 (6916) script.js.common.Klingel-Gartentüre: registered 1 subscription and 0 schedules
18:52:45.065 info javascript.0 (6916) Stop script script.js.common.Klingel-Gartentüre
18:52:45.065 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:52:45.065 info javascript.0 (6916) script.js.common.Klingel-Gartentüre: registered 1 subscription and 0 schedules
18:52:45.956 info javascript.0 (6916) Stop script script.js.common.Klingel-Gartentüre
18:52:46.503 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:52:46.503 info javascript.0 (6916) script.js.common.Klingel-Gartentüre: registered 1 subscription and 0 schedules
18:53:39.268 info javascript.0 (6916) Stop script script.js.common.Klingel-Gartentüre
18:53:39.268 info javascript.0 (6916) Start javascript script.js.common.Klingel-Gartentüre
18:53:39.268 info javascript.0 (6916) script.js.common.Klingel-_Gartentüre: registered 1 subscription and 0 schedules
Ausgewählte Blöcke exportieren<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="c08~!?}h/;gsL^zE(OMo" x="-487" y="-387">
<field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e4000006e4d00.302ed89f43f0000000000ec0000a8d3900.states.0</field>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="}I/1m83KLkwph:#w?L,F">
<value name="IF0">
<block type="logic_compare" id="(KTJY.jIO~l|+pSHHyNR">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="VrhX]=T%?#,;hrX2$d=k">
<field name="ATTR">val</field>
<field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e4000006e4d00.302ed89f43f0000000000ec0000a8d3900.states.0</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="rFy5hC3jz/wMAY=ozR!"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="tk~sEve6*Pfla(m|l8J,"> <mutation delay_input="false"></mutation> <field name="OID">tr-064.0.states.ring</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="oi$:oG]LJk(8yGyl
uAq">
<field name="TEXT">**610, 15 </field>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block><block xmlns="http://www.w3.org/1999/xhtml" type="on" id="c08~!?}h/;gsL^zE(OMo" x="-487" y="-387">
<field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e4000006e4d00.302ed89f43f0000000000ec0000a8d3900.states.0</field>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="}I/1m83KLkwph:#w?L,F">
<value name="IF0">
<block type="logic_compare" id="(KTJY.jIO~l|+pSHHyNR">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="VrhX]=T%?#,;hrX2$d=k">
<field name="ATTR">val</field>
<field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e4000006e4d00.302ed89f43f0000000000ec0000a8d3900.states.0</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="rFy5hC3jz/wMAY=ozR!"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="tk~sEve6*Pfla(m|l8J,"> <mutation delay_input="false"></mutation> <field name="OID">tr-064.0.states.ring</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="oi$:oG]LJk(8yGyl
uAq">
<field name="TEXT">**610, 15 </field>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block> -
Bitte das XML in Code Tags packen. Ansonsten wäre cool zu wissen was nicht geht.
Ansonsten: wenn du in einen trigger Block was einbaust solltest du nicht den gleichen Wert nochmal abfragen. du hast eine variable value zur Verfügung die den Wert enthält. Nochmal anfragen kann einen anderen Wert zurückgeben als den der getriggert hat.
-
Ich hab die Türklingel am UMR von Digitalstrom der soll bei Betätigung einen Anruf an ein Fritzfon schicken hab das wie oben in Blocky ertsellt aber leider passiert nix.
-
@dezimal naja die erste Frage ist ja erstmal ob der state auf true geht wenn finden Button betätigst. Im Screenshot sehe ich false.
-
@apollon77
der bleibt so wenn ich auf die Klingel drücke oder muss ich in der Software was betätigen? -
@dezimal Naja wenn sich an den States da nichts ändert hat dein Skript auchnichts zu reagieren.
Bitte installier mal die neueste Version falls Du die nicht hast (1.0.2). Wenns damit auch nicht tut dann bitte Debug Log einschalten und zeigen was im Log passiert wenn Du den Knopf drückst
-
@apollon77
Vielen Dank. Hab die neuste Version drauf dann hat es geklappt. -
Großes Lob an @apollon77
Habe heute zum ersten mal Kontakt zu DS gehabt und gleich geschaut ob ioBroker das kann.
Nun sehe ich, dass genau an diesem Adapter die letzten Wochen intensiv gearbeitet wurde.
Genial -
Hallo @apollon77 - ein GROSSES Lob erst einmal an deine Arbeit - Vielen Dank - der Adapter funktioniert ganz wunderbar!
Eine kleiner Fehler allerdings tritt bei mir allerdings auf - und der betrifft das Setzen des "brightness" statuses auf Device Ebene (getestet auf gelben Klemmen GE-KM200, GE-KM300, GE-UMV200). Ändere ich hier den prozentualen Wert, so ändert sich das Verhalten an der Klemme nicht (Helligkeit bleibt e.g. bei 100% wenn auf 10% gesetzt) - Interessanterweise scheint im DSS jedoch irgendetwas anzukommen, denn wenn ich dort über das WebUI danach den Gerätewert manuell setzen möchte - so zeigt er den zuvor in iobroker gesetzten Wert als aktuellen Wert an (also im Bsp. 10%) obwohl die Lampe mit 100% leuchtet. - sobald ich den Wert hier verändere springt auch die Leuchte auf den richtigen Wert. Nach Lesen des Forums hier scheint es ein ähnliches Problem zu sein wie zuvor mit den Stellwerten der grauen Klemmen...
Wäre super wenn du hier mal schauen könntest, da ich die Stellwerte gerade der 0-10V Ausgänge der UMV dringend benötigen würde...Viele Grüsse - und nochmal einen dicken Dank,
Arne
-
@KarlKiel Welche Version vom Adapter nutzt du? Problem mit Stellwerten grauer Klemmen? Es kann jetzt nur sein das die Geräte wieder die Werte auf andere arten gesetzt bekommen müssen.
Da bräuchte ich mehr details was die DSS tut.Öffne mal die DSS im Browser. Dann öffne vom Browser die "ENtwickler-Tools" (oder auch Web-Developer tools) - meist unter "Tools". Da geht dann ein "Network" Tab auf.
Jetzt Seite im Browser neu laden.
Dann öffnest Du den Dialog um einen Wert zu setzen.
Dann am besten die "Network" Liste mal Clearen (meistens oben links ein knopf oder so).
Dann Wert setzen und nach einem "setXXXXX" Aufruf schauen. Dann mit schicken was das ist als screenshot.Und das am besten pro gerätetyp
-
Hallo @apollon77,
Version iobroker ist aktuell, DS Adapter in V2 - alles gestern auf den letzten Stand gehoben...
Also... hier noch ein paar mehr Infos: Wenn ich hier den status "state" manuell setze, so wird richtig entsprechend automatisch der Wert für die "brightness" auf 100% bzw. 0% gesetzt - das Licht geht entsprechend an und aus. Setze ich jedoch nun einen "brightness" Wert ist das Verhalten merkwürdig. Ist der "State" zuvor auf false (und brightness entsprechend bei 0%) so wird dieser richtigerweise hier auf "true" gesetzt - das Licht bleibt jedoch komplett aus. Ist der State zuvor auf "true" (und brightness entsprechend bei 100%), so nimmt er hier die Daten zwar an - das Licht allerdings ändert die Dimmstufe nicht.
Nun zum DSS und was hier beim Aufruf zum manuellen Setzen des Wertes passiert (Nachdem ich zuvor im Iobroker bei brennendem Licht den Brightness Sensor geändert habe (20%):
Im Änderungsfenster wird nun dieser geänderte Wert angezeigt (20%) obwohl die Lampe mit 100% leuchtet - Ändere ich nun hier (auf 25%) ändert sich die tatsächliche Dimmung an der Lampe nun auch auf den richtigen Wert.Vielen Dank noch einmal für deine Unterstützung,
Gruss,
Arne -
Hallo @apollon77, hattest du Gelegenheit hier mal reinzuschauen?
Ich habe eine Anwendung, bei der ich leider auf die direkten Devicewerte angewiesen bin und nicht mit den Szenen arbeiten kann... Die Umsetzung über iobroker würde mir den derzeitigen Einsatz von über 300(!) benutzerdefinierten Zuständen in DS sparen....
-
@KarlKiel In dem Browserscreenshot ist die Zeile mit "setValue" ... kann ich da mal alle Parameter sehen bitte? Also wie sieht die ganze Zeile aus?
-
Hallo @apollon77,
Hier der gesamte Aufruf, wie er im Chrome angezeigt wird (in diesem Fall beim setzen auf 40%):
https://192.168.1.20/json/device/setValue?_dc=1583842426412&dsuid=302ed89f43f0000000000f00000f420800&value=102&category=manualVielen Dank nocheinmal für deine tolle Arbeit!
Gruss,
Arne
-
@KarlKiel Kann jetzt nur was vermuten- Ich sende noch einen Parameter "offset" mit der auf 0 steht ... Ich nehm den mal raus.. mal schauen ob es eine Effekt hat. Bei mir hatte es bisher super funktioniert.
Versuch mal die 2.0.1 vom GitHub
-
@apollon77
Hi, habe nun 2.0.1 installiert - leider hat es am Verhalten nichts geändert. Ein Ändern der Brightness für das jeweilige Device löst an der Klemme nur für 0 und 100% Aus und Ein aus (also aus und bei voller Helligkeit einschalten funktioniert - und der "state" value wird auch korrekt auf "false" und "true" geändert. Nichtsdestotrotz ein Dimmwert dazwischen wird nachwievor zwar offensichtlich irgendwie im DS System hinterlegt (so dass beim Auslesen der Klemme der Wert gelesen wird...) aber hat keine tatsächlichen Auswirkungen auf den Ausgang der Klemme (weder beim GE-UMV noch bei ner GE-KM (weder 200 noch 300...))
Irgendwas stimmt da noch nicht ganz.... - bei den grauen Klemmen funktioniert es ja dagegen wunderbar einen direkten Stellwert zu setzen... -
@KarlKiel Dann kann ich jetzt nur sagen. Bitte noch im Bowser genau schauen das das "setValue" von oben das relevante war und mal digitalstrom Adapter in debug log starten unddann schalten - dann siehst Du auch den Request der rausgeht ... Dann müssen wir rausfinden was anders ist
-
@apollon77
Hi, war gar nicht so leicht den Eintrag aus dem Log zu extrahieren, da bei mir mehr als 1000 Logeinträge pro Minute geschrieben werden.... - nichtsdestotrotz hier die Einträge:IOBroker Log:
2020-03-10 16:17:17.326 - [34mdebug[39m: digitalstrom.0 (1873) 1583853437326 Queued entry processed device/setConfig and {"dsuid":"302ed89f43f0000000000f00000f420800","value":102,"category":"manual","class":64,"index":0,"token":"8b8c345a10dbcb36bfce90cf2c9722cfec0f7403e816076bc21e949b1a676310"}: {"ok":true}Gegenüber DSS-GUI Log im Chrome:
https://192.168.1.20/json/device/setValue?_dc=1583850846950&dsuid=302ed89f43f0000000000f00000f420800&value=102&category=manualHauptunterschied für mich - Methode "setConfig" gegenüber "setValue" - das kann natürlich aber auch an deiner Umsetzung liegen...
Gruss,
Arne