NEWS
[Gelöst] Osram Smart+ Mini Switch
-
Guten Abend zusammen,
wie in anderen Threads im ioBroker Forum oder in GitHub bereits beschrieben scheint das Problem öfter aufzutreten.
Es geht um dieses Produkt.Der Switch Mini schaltet anscheinend am Coordinator vorbei, da bei einer Betätigung der Knöpfe alle Osram Plugs geschaltet werden. Des Weiteren sind die Werte nicht vollständig, da z.B. die mittlere Taste nicht richtig "erkannt" wird. Ich habe in GitHub das Fehlerbild schon mal beschrieben. Hier der Auszug:
Beim Drücken auf den Pfeil nach oben wird ID "state" auf "up" geändert/aktualisiert & ID "link quality" einmal geändert/aktualisiert. Ab und zu werden hierdurch auch die Osram Plugs angeschaltet.
Beim Drücken auf den die mittlere Taste wird ID "link quality" zwei mal hintereinander aktualisiert, keine Änderung/Aktualisierung der ID "state", auch nicht bei ID "circle". Die Osram Plugs werden angeschaltet.
Beim Drücken des Pfeils nach unten wird ID "state" auf "down" geändert/aktualisiert & ID "link quality" einmal geändert/aktualisiert. Die Osram Plugs werden ausgeschaltet.
ID "Hold" funktioniert bei "up" und "down", d.h. wenn länger der Pfeil nach oben bzw. unten gedrückt wird. Jedoch lässt sich nur anhand der aktualisierten ID "link quality" abschätzen, wie lange eine Taste gedrückt wurde, da sich der Wert nach dem loslassen aktualisiert. Die mittlere Taste gedrückt halten aktualisiert ID "link quality" zweimal hintereinander und beim Loslassen wieder.
ID "Battery" zeigt aktuell 80.00% an. Die Batterie hat laut Multimeter über 3V - nicht weiter überprüfbar, ob das 80% der ursprünglichen Ausgangsspannung war.
Ich habe die Firmware des Zigbee sticks (CC2531) auf die neueste Version aktualisiert (was zu keiner Änderung des Fehlerbilds geführt hat):
zigbee-shepherd ready. version: 2.6.3 rev 20190223
Der Adapter hat ganz frisch Version 0.10.3 (Update von 0.10.2 - Keine Änderung des Fehlerbilds dadurch).
Die Einbindung des Switch Mini verlief ohne Probleme:Es werden dadurch die folgenden Objekte angelegt:
Mit Blick in den Code des shepherd converts scheinen die folgenden Zeilen zum Switch Mini zu gehören:
"device.js"
{ zigbeeModel: ['Lightify Switch Mini', 'Lightify Switch Mini\u0000'], model: 'AC0251100NJ', vendor: 'OSRAM', description: 'Smart+ switch mini', supports: 'on/off, brightness', fromZigbee: [ fz.AC0251100NJ_on, fz.AC0251100NJ_off, fz.AC0251100NJ_on_hold, fz.AC0251100NJ_off_hold, fz.AC0251100NJ_release, fz.AC0251100NJ_circle, fz.AC0251100NJ_circle_release, fz.generic_batteryvoltage_3000_2500, ], toZigbee: [], configure: (ieeeAddr, shepherd, coordinator, callback) => { const device = shepherd.find(ieeeAddr, 1); const actions = [ (cb) => device.bind('genOnOff', coordinator, cb), (cb) => device.bind('lightingColorCtrl', coordinator, cb), (cb) => device.bind('genLevelCtrl', coordinator, cb), (cb) => device.bind('genPowerCfg', coordinator, cb), (cb) => device.report('genPowerCfg', 'batteryVoltage', 900, 3600, 0, cb), ]; execute(device, actions, callback); }, },
"fromZigbee.js"
AC0251100NJ_on: { cid: 'genOnOff', type: 'cmdOn', convert: (model, msg, publish, options) => { return {click: 'on'}; }, }, AC0251100NJ_off: { cid: 'genOnOff', type: 'cmdOff', convert: (model, msg, publish, options) => { return {click: 'off'}; }, }, AC0251100NJ_long_middle: { cid: 'lightingColorCtrl', type: 'cmdMoveHue', convert: (model, msg, publish, options) => { return {click: 'long_middle'}; }, },
Die Code-infos kommen aus diesem commit.
Des Weiteren befinden sich im Zigbee Adapter selbst folgende, für die Switch Mini wohl relevanten Codezeilen:
"devstates.js"
// osram switch mini switch_circle: { id: 'circle', prop: 'click', name: 'Circle State', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => payload.click, }, switch_state: { id: 'state', prop: 'action', name: 'Switch state', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => (payload.action === 'up') ? 'up' : (payload.action === 'down') ? 'down' : undefined, }, switch_hold: { id: 'hold', prop: 'action', name: 'Switch state', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => (payload.action === 'on_hold') ? 'up' : (payload.action === 'off_hold') ? 'down' : undefined, },
Diese Info habe ich aus diesem commit.
Daraus erschloss mir dann auch, dass bei ID "Hold" nie die Betätigung der mittleren Taste auftauchen wird, da hier nur "up" und "down" definiert sind.Aus Spaß (eher Verzweiflung), habe ich die Swich Mini auch mal an die Hue Bridge angebunden (hue friends taster), funktionierte, aber auch hier werden dann alle Lampen, die an die Bridge angebunden sind geschaltet (Up → "Heller dimmen", Mitte → Standardfarbton, längeres Drücken führt zu einem gelben Farbton, wiederholtes längeres Drücken zu einem kontinuierlichem Farbwechsel, Down → "Dunkler dimmen")
Ist hier jemand in den Recherchen schon weiter oder kann weiterhelfen? Gewisses Programmierverständnis ist vorhanden, aber ich Blick hier nicht vollständig durch.
Falls weitere Infos fehlen bitte bescheid geben.
Vielen Dank,
Ben -
bekannstes Probelm.. wird noch dran gearbeitet..
-
Alles klar, aber fehlt irgendein Input, der das Problem lösen kann? Bzw. ist überhaupt klar, warum die Kommunikation am ioBroker vorbei stattfindet?
-
ich hab alles hier... nur die Zeit nicht
-
Erstmal danke, dass du dir überhaupt die Zeit nimmst die Switch Mini in ioBroker einzubinden. Wenn dir Infos fehlen versuchen wir so gut es geht zu helfen
-
schließe mich obakuhl an:
Denke das du das auf dem Schirm hast und wenn man irgendwie unterstützen kann bin ich sehr gerne bereit! -
Wurde an der Einbindung der Fernbedienung in der Zwischenzeit noch irgendwas verändert?
-
Zur Info:
Die mittlere Ein-/Aus-Taste (circle) erzeugt keine Zustandsänderungen der Objekte sondern lediglich der link_quality-Wert wird aktualisiert. Also ein click wird nicht im Datenpunkt circle angezeigt als auch ein long click (hold) wird nicht im hold Datenpunkt angezeigt. -
@ReverZ da hat sich bestimmt was im converter geändert....ich habs nicht nachgezogen.. hatte da paar Probleme mit dem Button
-
@arteck
Falls du da mal reinschauen könntest wäre ich dir überaus dankbar, da die beiden anderen Button ja tadellos funktionieren. -
OK, ich hab ´s jetzt selbst gefixt.
Da ich nicht genau weiß, wie es angedacht war - hier meine Logik:Bei Press des mittleren Kreis-Button wird "circle" in den Datenpunkt "state" geschrieben (analog zu "up" und "down" bei Betätigung der PfleilnachOben-Taste bzw. PfeilnachUnten-Taste)
Desweiteren wird "press" in den Datenpunkt "circle" geschrieben.Bei Long-Press des mittleren Kreis-Button wird "circle" in den Datenpunkt "hold" geschrieben (analog zu "up" und "down" bei Betätigung der PfleilnachOben-Taste bzw. PfeilnachUnten-Taste)
Desweiteren wird "hold" in den Datenpunkt "circle" geschrieben.devstates.js
// osram switch mini switch_circle: { id: 'circle', prop: 'action', name: 'Circle state', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => (payload.action === 'circle_press') ? 'press' : (payload.action === 'circle_hold') ? 'hold' : undefined, }, switch_state: { id: 'state', prop: 'action', name: 'Switch state', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => (payload.action === 'up') ? 'up' : (payload.action === 'down') ? 'down' : (payload.action === 'circle_press') ? 'circle' : undefined, }, switch_hold: { id: 'hold', prop: 'action', name: 'Switch state', icon: undefined, role: 'switch', write: false, read: true, type: 'string', getter: payload => (payload.action === 'on_hold') ? 'up' : (payload.action === 'off_hold') ? 'down' : (payload.action === 'circle_hold') ? 'circle': undefined, },
Dies als Vorschlag für das nächste Update.
-
Danke für den Vorschlag.
Eine wichtige Frage: Schaltet ein Druck auf den Knopf bei dir im Zigbee Netz vorhandene Osram Lampen am ioBroker vorbei ?
A.
-
Da ich keine Osram-Lampen habe, kann ich dir die Frage leider nicht beantworten. Ich will die Fernbedienung für andere Aktoren verwenden.
-
@ReverZ welche ?? genauer bitte
-
@arteck
Welche was? Bezieht sich deine Frage auf "andere Aktoren" oder etwas anderes? -
@Asgothian
Was ich aber jetzt bestätigen kann: Die Fernbedienung schaltet meine Osram Plugs am ioBroker vorbei. Kann man die irgendwie trennen? -
@ReverZ ich bin der Meinung, aktuell kannst du das nur mit dem Osram-Gateway verhindern. Damit kannst du Vorgaben für die FB machen. Mit dem Zigbee-Adapter geht das (bisher noch?) nicht.
-
@ReverZ nein
-
Mach ich das mit dem Osram-Gateway nur als einmalige Konfiguration oder muss das Teil dann immer mitlaufen?
BTW: Dann ist diese Fernbedienung ja wirklich nur zu gebrauchen, wenn man sonst keine weiteren Osram Smart+-Geräte bei sich laufen hat
-
@ReverZ
Das ist ja echt doof, da ich sie gerade ins Auge gefasst hatte als Ersatz für die Aqara Switches, die ich ums Verr...en nicht gepaired bekomme (ich drücke den kleinen Knopf länger bis es blau blinkt und dann immer wieder um den Pairing Modus aufrecht zu erhalten - bei mir fängt das Pairing noch nicht mal an, keinerlei Reaktion zu sehen )
Da ich aber sowohl Osram Bulbs als auch Smart Plugs im Einsatz habe (aber kein Lightify-Gateway) dann keine Option.Gibt es andere mobile Switch-Alternativen? In der Liste der kompatiblen Devices ist die Auswahl dahingehend leider noch recht dünn.