tint von ALDI - smarte Lampen

Begonnen von Mitch, 03 Januar 2019, 12:34:29

Vorheriges Thema - Nächstes Thema

Harst

zu spät, aber ich musste das Pairing auch nicht noch einmal durchführen. Die Werte waren gespeichert.
durch Deinen Hinweis mit "DEBUG=* npm start"  habe ich jetzt alle Meldungen gesehen.
Ich habe das Logfile in das mqtt-Projekt gestellt.

Horst

Harst

Mein aktueller Stand zur Fernbedienung:

Ich habe ein paar Änderungen auf Anweisung von @koenkk in zigbee2mqtt gemacht und selbst die Anpassungen in devices.pm und fromZigbee.pm eingetragen.

Jetzt bekomme ich in FHEM Ein/Aus, das Farbrad, Farbtemperatur und Helligkeit ohne weitere Probleme. Ich musste die Fernbedienung nur einmal pairen.

Die Szenen zucken noch, da warte ich noch auf Hilfe von @koenkk

Und ich habe noch nicht verstanden, wie man ein Template in FHEM macht.

Horst

KölnSolar

Das mit den Szenen wird vermutlich komplizierter. Da ist die Struktur der Daten völlig anders.


Wir sollten uns jetzt überlegen, wie wir es umgesetzt bekommen. Ich habe die converter jetzt so definiert

    T404011_brightness_click: {
        cid: 'genLevelCtrl',
        type: 'cmdStep',
        convert: (model, msg, publish, options) => {
          const direction = msg.data.data.stepmode === 0 ? 'up' : 'down';
            return {action: `brightness ${direction}`};
        },
    },
    T404011_colortemp: {
        cid: 'lightingColorCtrl',
        type: 'cmdMoveToColorTemp',
        convert: (model, msg, publish, options) => {
            return {action: `colortemp`,
    colortemp: msg.data.data['colortemp']};
        },
    },
    T404011_color: {
        cid: 'lightingColorCtrl',
        type: 'cmdMoveToColor',
        convert: (model, msg, publish, options) => {
            return {action: `colorwheel`,
    colorx: msg.data.data['colorx'],
    colory: msg.data.data['colory']};
        },
    },


Ich hab mich da an E1524 orientiert. Wir bekommen dann ein reading action mit der Taste und ggfs. readings colortemp,colorx,colory.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Harst

Hallo,
bei mir sieht es so aus:

    tint404011_on: {
        cid: 'genOnOff',
        type: 'cmdOn',
        convert: (model, msg, publish, options) => {
            return {action: 'toggle'};
        },
    },
    tint404011_off: {
        cid: 'genOnOff',
        type: 'cmdOff',
        convert: (model, msg, publish, options) => {
            return {action: 'toggle'};
        },
    },
    tint404011_brightness_updown_click: {
        cid: 'genLevelCtrl',
        type: 'cmdStep',
        convert: (model, msg, publish, options) => {
            const direction = msg.data.data.stepmode === 1 ? 'down' : 'up';
            return {action: `brightness_${direction}_click`, stepsize: msg.data.data.stepsize ,transtime: msg.data.data.transtime};
        },
    },
    tint404011_move_to_color_temp: {
        cid: 'lightingColorCtrl',
        type: 'cmdMoveToColorTemp',
        convert: (model, msg, publish, options) => {
            return {action: `color_temp_move`, colortemp: msg.data.data.colortemp, transtime: msg.data.data.transtime  };
        },
    },
    tint404011_move_to_color: {
        cid: 'lightingColorCtrl',
        type: 'cmdMoveToColor',
        convert: (model, msg, publish, options) => {
            const direction = msg.data.data.stepmode === 1 ? 'down' : 'up';
            return {action: `color_move`, colorx: msg.data.data.colorx, colory: msg.data.data.colory, transtime: msg.data.data.transtime };
        },
    },


und in devices.js:

    {
        zigbeeModel: ['ZBT-Remote-ALL-RGBW'],
        model: 'MLI-404011',
        description: 'Tint remote control',
        supports: 'toggle, brightness, other buttons are not supported yet! ' +
            '(**[requires additional setup!]' +
            '(http://www.zigbee2mqtt.io/getting_started/pairing_devices.html)**)',
        vendor: 'Müller Licht',
        fromZigbee: [
            fz.tint404011_on, fz.tint404011_off, fz.cmdToggle, fz.tint404011_brightness_updown_click,
fz.tint404011_move_to_color_temp,  fz.tint404011_move_to_color,
        ],
        toZigbee: [],
    },


dazu kommen noch die Änderungen in af.js.

Das ergibt dann in FHEM:

Action    brightness_down_click    2019-02-17 14:30:34
associatedWith MQTT2_zigbee_pi          2019-02-17 13:53:21
colortemp     370     2019-02-17 14:30:32
colorx     16664     2019-02-17 14:30:27
colory     8580       2019-02-17 14:30:27
linkquality   65   2019-02-17 14:30:34
transtime    10     2019-02-17 14:30:34


Ich habe die Änderungen als pullrequest abgesetzt. Mal sehen.

Harst

Ich habe jetzt auch die scenen-Schalter aktiv. Allerdings musste ich eine Änderung in zigbee2mqtt machen, deren Auswirkung ich nicht wirklich überschaue.

fromZigbee.js:
    tint404011_scene: {
        cid: 'genBasic',
        type: 'cmdWrite',
        convert: (model, msg, publish, options) => {
            return {action: `scene${msg.data.data[0].attrData}` };
        },
    },


In af.js, Zeile 694:
            if ( cmdIDs.includes(msg.zclMsg.cmdId) && msg.zclMsg.payload) {
//            if (frameType === 1 && cmdIDs.includes(msg.zclMsg.cmdId) && msg.zclMsg.payload) {


und in devices.js:

    {
        zigbeeModel: ['ZBT-Remote-ALL-RGBW'],
        model: 'MLI-404011',
        description: 'Tint remote control',
        supports: 'toggle, brightness, other buttons are not supported yet! ' +
            '(**[requires additional setup!]' +
            '(http://www.zigbee2mqtt.io/getting_started/pairing_devices.html)**)',
        vendor: 'Müller Licht',
        fromZigbee: [
            fz.tint404011_on, fz.tint404011_off, fz.cmdToggle, fz.tint404011_brightness_updown_click,
fz.tint404011_move_to_color_temp,  fz.tint404011_move_to_color, fz.tint404011_scene,
        ],
        toZigbee: [],
    },


Horst

KölnSolar

Zitatbei mir sieht es so aus:
für an/aus habe ich eria_81825_on/eria_81825_off genutzt, was dann action on/off  liefert. action toggle finde ich wenig sinnvoll.
Wass soll mir später bei action color_temp_move oder color_move das move sagen ? In action sollte man doch die Taste wiedererkennen, also wie bei mir colortemp/colorwheel. Hilft uns stepsize/ transtime als reading ? Das sind doch Fixwerte.
Ich guck mir mal die scenes an...
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Harst

Hallo, ein Teil der Änderungen ist schon in den sourcen bei zigbee2mqtt drin.  Der Autor hat das implementiert.

Das on/Off als toggle hatte ich gewählt, weil der Nutzer ja nur eine Taste ohne Anzeige hat.

Für mich wichtiger ist, dass ich auf Hauer keine eigenen Änderungen bei zigbee2mqtt brauche.

KölnSolar

Sehr unschön. Da bekommt der unbedarfte FHEM-User dann im Reading action einmal ein Verb(toggle), dann Tasten(scene1-6;brightness_up/down_click) und schließlich noch "seltsame" Kunstbegriffe(color_move,color_temp_move). Wie er da seine FB-Tasten wiedererkennt, auf die er ja reagieren(notify...) möchte ? Und Readings(transtime,stepsize) deren Inhalt sich nie ändert tragen auch nicht gerade zur Transparenz bei.  ???
Aber ist ja opensource und ich kann es für mich passend machen...
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Harst

Du hast ja recht,
Toggle ist übrigens eine Taste (on/off), Scene 1-6 auch, .

Die anderen können wir bestimmt noch umbenennen. Allerdings kommen die in den Quellen nicht als Tasten vor. Wir können also warm/kalt umbenennen und der Farbrad. Und natürlich muss das FHEM-Modul nicht das anzeigen, was als MQTT rüberkommt.
Was hältst Du also davon, die beiden Kunstworte in color_wheel und color_temp zu ändern/ ändern zu  lassen. Die Unterstriche, weil brightness schon so ist.

KölnSolar

#114
Bei nur toggle "berauben" wir uns der Information aus dem tatsächlichen Sendetelegramm. Das lautet nun einmal on u. off. In der Müller-Beschreibung wird die Taste Standby genannt. Bei anderen vergleichbaren Geräten/Funktionen power. Wie wär es mit dem Mix ? Aus on wird power und aus off standby ? Oder "power on" u. "power off" ?
Edit: Mir fehlt noch, dass wir die unterschiedlichen Zustände der Gruppentaste differenzieren können. Die versteckt sich ja in der groupid. 0x4004/0x4005/0x4006. Bei mir tut sich wg. der direkten Kopplung mit bind bei der "All-Group"-Einstellung nichts in der Konsole.
Hat sich schon jemand an der direkten Kopplung der FB zu einer Birne per "bind" probiert ? Grundsätzlich funktioniert das außer den Szenetasten ja, aber color_temp und color_wheel verhalten sich "anders" als im Originalzustand. color_temp wechselt direkt in den wärmsten/kältesten Weißmodus, die Farben bekommt man per wheel nicht mehr vernünftig  eingestellt. Ob das über zigbee2mqtt kommt ? :-\
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Harst

Ja, das kommt bei zigbee2mqtt. Die Werte habe übertrage ich und man sieht auch, dass die Farbe bei jedem Tastendruck anders übertragen wird.
Hier sind meine Änderungen.

Harst

Fertig:
@koenkk hat gerade die Änderungen für die ALDI-tint Fernbedienung aktiviert. Alle Meldungen mit allen Parametern kommen rüber, auch die Scene-Tasten

Horst

KölnSolar

Noch nicht so ganz  :'(

color_wheel müsste so geändert werden, um konform mit den Bulb-Daten zu sein
    tint404011_color: {
        cid: 'lightingColorCtrl',
        type: 'cmdMoveToColor',
        convert: (model, msg, publish, options) => {
            return {action: `color_wheel`,
    color_x: precisionRound(msg.data.data['colorx'] / 65535, 3),
    color_y: precisionRound(msg.data.data['colory'] / 65535, 3)};
        },
    },

Ich hab das gegen die Farben geprüft(soweit das möglich ist). Zwischen den nebeneinander liegenden Farbtasten liegen jeweils 10 Zwischenstufen.

Bei der Farbtemperatur gibt es 4 Stufen. 153, 200, 250, 370.  Ich glaube das ist nach mired. Testet man über FHEM, so scheint es einen zulässigen Bereich von 153-556 zu geben. Der Bereich 370-556 lässt sich mit der Fb nicht über die Farbtemperatur einstellen.

Der Helligkeitsbereich geht von 0 bis 255, wobei die Helligkeit in 12er Stufen wahrnehmbar ist. Mit der Fb gibt es 7 Stufen.

Dann hab ich noch alert(aus FHEM heraus) getestet. Bringt die Birne zum einmaligen Blinken. Hell-dunkel-zurück_zum_Ausgangswert.

Die Szenen sind mir immer noch ungeheuer  :-\
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Harst

Das mit der Farbe habe ich nachvollzogen. Die Farbtemperatur scheint von der Lampe aber auch nicht in einem so weiten Bereich unterstützt zu werden. Das würde ich so durchrechen wie bisher, kann man ja lokal skalieren. Und es kommt ja der Tastendruck mit, wenn also der Wert vorher schon auf max was kann man ihn lokal anders setzen, als es von  der FB gemeldet wurde.

Ich mache das in Kürze rein und reiche es weiter.

Kannst Du templates? Oder hast eine Definition für die FB?

Beta-User

Zitat von: Harst am 20 Februar 2019, 08:06:15
Kannst Du templates? Oder hast eine Definition für die FB?
Wäre natürlich nett, wenn's direkt was fertiges gäbe, aber wenn ihr eine RAW-Definition liefert, kann ich das gerne hier erst mal zum Testen als template überarbeitet posten :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files