Gerne erstelle ich hier meinen ersten Beitrag, als stiller Mitleser
Ich habe bereits den Shelly Plus1 über mqtt mit openHAB verbunden.
Das triggern ermögliche ich mit einem kurzen Tastendruck meines Sonoff SNZB-01.
Das Ziel ist es den Shelly mit dem kurzen Tastendruck zu toggeln (AN/AUS)
Dies konnte ich mit blockly auch realisieren.
Funktioniert soweit ohen Probleme.
Könnt Ihr mir bitte mitteilen ob ich das ganze "Sauber" gelöst habe?
Gerne bin ich für jede Alternativen dankbar.
Wissenswertes:
Kurzer Tastendruck des Sonoff SNZB-01 gibt eine "1002" aus.
Alternativ der Code:
Code: Alles auswählen
triggers:
- id: "1"
configuration:
thingUID: deconz:switch:XXXX:00XXXXXX0006
channelUID: deconz:switch:00XXXXX:0012XXXXX:buttonevent
type: core.ChannelEventTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
blockSource: <xml xmlns="https://developers.google.com/blockly/xml"><block
type="controls_if" id="CGLyU*$[a5Aeta{64k6/" x="217" y="273"><value
name="IF0"><block type="logic_operation"
id="NJ!vGo;L)VLH_Ji-qDKB"><field name="OP">AND</field><value
name="A"><block type="logic_compare" id="]-eL0w{.,;G{w!e7r=[h"><field
name="OP">EQ</field><value name="A"><block type="oh_getitem_state"
id="kg(liwsq[zA59.)}-4rA"><value name="itemName"><shadow type="oh_item"
id="uK[rMGd~!s2Te]kqB*|8"><field
name="itemName">SchalterMinieWeLink_Button</field></shadow></value></block></value><value
name="B"><block type="text" id="A$rs!R#Y$0zX*n2y{Sg1"><field
name="TEXT">1002</field></block></value></block></value><value
name="B"><block type="logic_compare" id="[WX#JsH1JxayEN,C=Ta{"><field
name="OP">EQ</field><value name="A"><block type="oh_getitem_state"
id="v4[j_t_UC~U^mv]d}|Ym"><value name="itemName"><shadow type="oh_item"
id="etmB~yyZD3+@R(A@#nmN"><field
name="itemName">shelly1plus_switch_0</field></shadow></value></block></value><value
name="B"><block type="text" id="g-s/wv%xY:i}:EjZT5GL"><field
name="TEXT">ON</field></block></value></block></value></block></value><statement
name="DO0"><block type="oh_event" id="Sb]NV{ai0NqjXmg1x6eE"><field
name="eventType">sendCommand</field><value name="value"><shadow
type="text" id="sv@JoQv,mH*Us@QhQ/.?"><field
name="TEXT">OFF</field></shadow></value><value name="itemName"><shadow
type="oh_item" id="Y=ZFAOB~YJFxvM@vQO__"><field
name="itemName">shelly1plus</field></shadow></value></block></statement><next><block
type="controls_if" id="lP)iPz+.aWp2O=osaMg-"><value name="IF0"><block
type="logic_operation" id="r4=k@yUne4-/:-P0Hl)W"><field
name="OP">AND</field><value name="A"><block type="logic_compare"
id="mlg}XmKftf4s#Ip$XskH"><field name="OP">EQ</field><value
name="A"><block type="oh_getitem_state" id="7z:L[E)M~eOZxkV{u`7i"><value
name="itemName"><shadow type="oh_item" id="+`Or5Q1nIN8Rd_IOOfjb"><field
name="itemName">SchalterMinieWeLink_Button</field></shadow></value></block></value><value
name="B"><block type="text" id="|7lUbdy]Dw+bmilFEhI]"><field
name="TEXT">1002</field></block></value></block></value><value
name="B"><block type="logic_compare" id="YP6XY^RQwaUP2@!2=^}E"><field
name="OP">EQ</field><value name="A"><block type="oh_getitem_state"
id="D|~Vx3e~$Xmf4UYmHG,l"><value name="itemName"><shadow type="oh_item"
id=")1x(pAIEieB79{t{4TI@"><field
name="itemName">shelly1plus_switch_0</field></shadow></value></block></value><value
name="B"><block type="text" id="KcQy.%Pff#34Kw8Xagx}"><field
name="TEXT">OFF</field></block></value></block></value></block></value><statement
name="DO0"><block type="oh_event" id="yugilqT).Fp6xjl^?lzX"><field
name="eventType">sendCommand</field><value name="value"><shadow
type="text" id="^_74Df!)7:JO794vv_OU"><field
name="TEXT">ON</field></shadow></value><value name="itemName"><shadow
type="oh_item" id="jZGMML?:G]7=Iiqd$R]]"><field
name="itemName">shelly1plus</field></shadow></value></block></statement></block></next></block></xml>
type: application/javascript
script: >
if (itemRegistry.getItem('SchalterMinieWeLink_Button').getState() ==
'1002' && itemRegistry.getItem('shelly1plus_switch_0').getState() ==
'ON') {
events.sendCommand('shelly1plus', 'OFF');
}
if (itemRegistry.getItem('SchalterMinieWeLink_Button').getState() == '1002' && itemRegistry.getItem('shelly1plus_switch_0').getState() == 'OFF') {
events.sendCommand('shelly1plus', 'ON');
}
type: script.ScriptAction