NEWS
HUE in Zigbee einbinden u. über Schalter schalten[Gelöst]
-
PeZi about 13 hours ago
@asgothian
@peterfido
Es hat mir dann doch keine Ruhe gelassen, jetzt funktioniert es wie gewünscht
Folgendes hab ich gemacht:- Datenpunkt in 0_userdata anlegen:
0_userdata.0.Zigbee.Wandlampe_xy
-
Datenpunkte für beide Seiten (Hue und Zigbee) über den Alias Manager angelegt und gemäß folgender Tabelle verknüpft:
Alias-Datenpunkt ................................ verknüpft mit
alias.0.Wandlampe.STATE ................ hm-rpc.1.MEQ0177483.2.STATE ......................... Ein und Ausschalten der Spannung
alias.0.Wandlampe.level ................... zigbee.0.00178801083800ea.brightness ........ Helligkeit
alias.0.Wandlampe.hue .................... zigbee.0.00178801083800ea.color_hs.hue .... Farbe
alias.0.Wandlampe.ct ........................ zigbee.0.00178801083800ea.colortemp ........ für die Weißtöne
alias.0.Wandlampe.xy ....................... 0_userdata.0.Zigbee.Wandlampe_xy ................ Farbe, kommt als x,y String von VIS-Widgets
alias.0.Wandlampe.x ......................... zigbee.0.00178801083800ea.color_xy.x .......... Wird von Zigbee aber getrennt nach x
alias.0.Wandlampe.y ......................... zigbee.0.00178801083800ea.color_xy.y ......... und y erwartet -
Lampe an Zigbee gekoppelt
-
zur Konvertierung von xy nach x und y folgendes Script erstellt: (für Scripting-Profis sicher noch optimierbar, Vorschläge werden gerne entgegen genommen)
on({id: '0_userdata.0.Zigbee.Wandlampe_xy', change: 'ne'}, function(obj) { let Wert = (getState('0_userdata.0.Zigbee.Wandlampe_xy')).val; let WertArray=Wert.split(","); let Wert0=parseFloat(WertArray[0]); let Wert1=parseFloat(WertArray[1]); setState("alias.0.Wandlampe.x", Wert0); setState("alias.0.Wandlampe.y", Wert1); } );
-
Den Alias-Objekten state, colortemp, hue, level und xy die Rolle "Licht" zugewiesen.
-
Im iot-Adapter kann dann über die intelligenten Aufzählungen und die Funktion Licht das Alexa-Gerät gefunden werden.
-
Anschließend noch in der Alexa-App nach neuen Geräten suchen und fertig...
Und zum Schluss noch das Widget aus der VIS in einer Version zum testen:
[{"tpl":"i-vis-color-picker","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iColorPickerFormat":"CIE","iColorPickerLayoutDirection":"vertical","iColorPickerShowWheel":"true","iColorPickerShowSliderHue":"","iColorPickerShowSliderSaturation":"","iColorPickerShowSliderValue":"","iColorPickerShowSliderRed":"","iColorPickerShowSliderGreen":"","iColorPickerShowSliderBlue":"","iColorPickerShowSliderAlpha":"","iColorPickerShowSliderKelvin":"","iColorPickerWidth":"218","iColorPickerComponentMargin":"12","iColorPickerHandleRadius":"8","iColorPickerHandlePadding":"6","iButtonCol":"#333333","iOpacityBack":"1","iCornerRadiusUL":"10","iCornerRadiusUR":"10","iCornerRadiusLR":"10","iCornerRadiusLL":"10","iContentFlexDirection":"vertical","iContentVertAlign":"iSpace-between","iContentOrder":"orderImgText","iOpacityCtn":"1","iTextColor":"#ffffff","iTextSize":"12","iTextAlign":"iStart","iTextDecoration":"none","iTextSpaceTop":"0","iTextSpaceBottom":"0","iTextSpaceLeft":"0","iTextSpaceRight":"0","iImgAlign":"iCenter","iImgSpaceTop":"0","iImgSpaceBottom":"0","iImgSpaceLeft":"0","iImgSpaceRight":"0","iShadowXOffset":"0","iShadowYOffset":"0","iShadowBlur":"0","iShadowSpread":"0","iShadowColor":"#111111","iShadowInnerXOffset":"0","iShadowInnerYOffset":"0","iShadowInnerBlur":"0","iShadowInnerSpread":"0","iShadowInnerColor":"#111111","iShadowTextXOffset":"0","iShadowTextYOffset":"0","iShadowTextBlur":"0","iShadowTextColor":"#111111","iBorderSize":"0","iBorderStyle":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.Zigbee.Wandlampe_xy"},"style":{"left":"942px","top":"356px","z-index":"40","border-width":"1px","border-style":"solid","border-color":"#ffffff","border-radius":"10px","height":"350"},"widgetSet":"vis-inventwo"},{"tpl":"i-vis-slider-simple","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iMinVal":"1","iMaxVal":"100","iStepVal":"1","iVisibleStepVal":"1","iSliderRotation":"0","iSliderHeight":"10","iSliderColor":"#ffffff","iSliderCorners":"100","iSliderKnobSize":"16","iSliderKnobColor":"#ffffff","iSliderKnobCorners":"100","iSliderTextColor":"#ffffff","iValueTextColor":"#455618","iTextSize":"12","iStepTextSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"alias.0.Wandlampe.level"},"style":{"left":"963px","top":"597px","z-index":"60"},"widgetSet":"vis-inventwo"},{"tpl":"i-vis-switch-1","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iSwitchOrientation":"horizontal","iOpacityBack":"1","iSwitchSize":"43","iSwitchColOn":"#333333","iSwitchColOnActive":"#00ff00","iSwitchColOff":"#333333","iSwitchColOffActive":"#ff0000","iSwitchColor":"white","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"iValueFalse":"false","iValueTrue":"true","oid":"alias.0.Wandlampe.STATE"},"style":{"left":"1026px","top":"637px","z-index":"60"},"widgetSet":"vis-inventwo"}]
-
@pezi An sich sollte es reichen wenn du die farbe entweder über x/y oder Hue/Saturation steuerst. Beides muss eigentlich nicht sein.
A.
-
@asgothian
ich hab beide Varianten drin, weil einige Widgets, Adapter etc. nicht beide Varianten unterstützen -
Kleine Ergänzung:
Mit einem zusätzlichen Slider kann man zu weiß wechseln und die Farbtemperatur einstellen:
und die Widgets dazu:[{"tpl":"i-vis-color-picker","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iColorPickerFormat":"CIE","iColorPickerLayoutDirection":"vertical","iColorPickerShowWheel":"true","iColorPickerShowSliderHue":"","iColorPickerShowSliderSaturation":"","iColorPickerShowSliderValue":"","iColorPickerShowSliderRed":"","iColorPickerShowSliderGreen":"","iColorPickerShowSliderBlue":"","iColorPickerShowSliderAlpha":"","iColorPickerShowSliderKelvin":"","iColorPickerWidth":"218","iColorPickerComponentMargin":"12","iColorPickerHandleRadius":"8","iColorPickerHandlePadding":"6","iButtonCol":"#333333","iOpacityBack":"1","iCornerRadiusUL":"10","iCornerRadiusUR":"10","iCornerRadiusLR":"10","iCornerRadiusLL":"10","iContentFlexDirection":"vertical","iContentVertAlign":"iSpace-between","iContentOrder":"orderImgText","iOpacityCtn":"1","iTextColor":"#ffffff","iTextSize":"12","iTextAlign":"iStart","iTextDecoration":"none","iTextSpaceTop":"0","iTextSpaceBottom":"0","iTextSpaceLeft":"0","iTextSpaceRight":"0","iImgAlign":"iCenter","iImgSpaceTop":"0","iImgSpaceBottom":"0","iImgSpaceLeft":"0","iImgSpaceRight":"0","iShadowXOffset":"0","iShadowYOffset":"0","iShadowBlur":"0","iShadowSpread":"0","iShadowColor":"#111111","iShadowInnerXOffset":"0","iShadowInnerYOffset":"0","iShadowInnerBlur":"0","iShadowInnerSpread":"0","iShadowInnerColor":"#111111","iShadowTextXOffset":"0","iShadowTextYOffset":"0","iShadowTextBlur":"0","iShadowTextColor":"#111111","iBorderSize":"0","iBorderStyle":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.Zigbee.Wandlampe_xy"},"style":{"left":"942px","top":"356px","z-index":"40","border-width":"1px","border-style":"solid","border-color":"#ffffff","border-radius":"10px","height":"400px"},"widgetSet":"vis-inventwo"},{"tpl":"i-vis-slider-simple","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iMinVal":"1","iMaxVal":"100","iStepVal":"1","iVisibleStepVal":"1","iSliderRotation":"0","iSliderHeight":"10","iSliderColor":"linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(255,255,255,1) 100%);","iSliderCorners":"100","iSliderKnobSize":"16","iSliderKnobColor":"#ffffff","iSliderKnobCorners":"100","iSliderTextColor":"#ffffff","iValueTextColor":"#455618","iTextSize":"12","iStepTextSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"alias.0.Wandlampe.level"},"style":{"left":"963px","top":"597px","z-index":"60"},"widgetSet":"vis-inventwo"},{"tpl":"i-vis-switch-1","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iSwitchOrientation":"horizontal","iOpacityBack":"1","iSwitchSize":"43","iSwitchColOn":"#333333","iSwitchColOnActive":"#00ff00","iSwitchColOff":"#333333","iSwitchColOffActive":"#ff0000","iSwitchColor":"white","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"iValueFalse":"false","iValueTrue":"true","oid":"alias.0.Wandlampe.STATE"},"style":{"left":"1022px","top":"693px","z-index":"60"},"widgetSet":"vis-inventwo"},{"tpl":"i-vis-slider-simple","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iMinVal":"1802","iMaxVal":"6536","iStepVal":"18","iVisibleStepVal":"1","iSliderRotation":"0","iSliderHeight":"10","iSliderColor":"linear-gradient(90deg, rgba(255,200,100) 0%, rgba(160,220,255,1) 100%);","iSliderCorners":"100","iSliderKnobSize":"16","iSliderKnobColor":"#ffffff","iSliderKnobCorners":"100","iSliderTextColor":"#ffffff","iValueTextColor":"#455618","iTextSize":"12","iStepTextSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"alias.0.Wandlampe.ct"},"style":{"left":"963px","top":"640px","z-index":"60"},"widgetSet":"vis-inventwo"}]
-
@pezi macht Sinn. Wenn du mir das genaue Format für xy von den Widgets verrätst kann der zigbee Adapter das auch direkt akzeptieren lernen. Ich setze keine Visualisierungen ein und Jenn mich damit nicht aus.
A.
-
@asgothian
welche Angaben benötigst Du da genau?
im Objekt steht der Wert in Form eines Strings (mit extremer Genauigkeit)
Nachdem ich jetzt die nächste Lampe umstellen wollte, habe ich festgestellt, dass bei Schalten über Alexa wieder nur die Helligkeit auf null gesetzt wird (Punkt 2 in meinem ersten Post). Verrückterweise ging das gestern noch
Da muss ich wohl noch etwas in des Einstellungen anpassen -
@pezi genau das brauchte ich. 2 float werte mit comma getrennt. Bau ich ein, wird ab 3.1.0 dann aktiv
-
@asgothian
Perfekt, danke.Wenn den Zigbee Adapter entwickelst, kannst Du sicher auch sagen woher iot die Informationen erhält welche Funktionen mit einem Objekt zu verknüpfen sind.
Hier...
... sieht man, dass gleich 4 Objekte mit einer Schaltfunktion versehen sind (Zumindest interpretiere ich das so).
Das würde erklären, warum von Alexa bei "Wandlampe Aus" nicht immer der State gesetzt wird.
Die Aliase hue und level zeigen auf Objekte im Zigbee Adapter und beziehen ihre Eigenschaften offenbar von dort. -
@pezi Genau kann ich dir das nicht sagen. Das einzige was der Zigbee-Adapter macht ist das er die 'Rolle' der Datenpunkte entsprecehnd der Regeln setzt. Was iot daraus macht weiss ich nicht - ich nutze es nicht.
Das ganze geht soweit ich das weiss über den ioBroker.typedetector.
A.
-
hab hier
gelesen, dass bei den Daten der "kritischen" Objekte (in meinem Fall also die, die fälschlicherweise auf "Ein" und "Aus"
regieren) die Zeile"byON": "-"
eingetragen bzw. angepasst werden muss.
Hier mal als Beispiel die Objektdaten der Helligkeit:
{ { "type": "state", "common": { "name": "Wandlampe", "role": "level.brightness", "type": "number", "max": 100, "read": true, "write": true, "alias": { "id": "zigbee.0.00178801083800ea.brightness" }, "custom": { "iot.0": { "smartName": { "smartType": "LIGHT",
"byON": "-"
} } } }, "_id": "alias.0.Wandlampe.level", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1754311640373 }
Das scheint zu funktionieren. Mal sehen, ob das dann die dauerhafte Lösung ist und welche neuen Nebenwirkungen auftreten. Gestern hat es ja auch zeitweise "einfach mal so" funktioniert.