zigbee2mqtt - nicht unterstütztes gerät

Begonnen von Der_Tom, 05 Juni 2021, 07:34:37

Vorheriges Thema - Nächstes Thema

Der_Tom

moin zusammen ,

ich habe mir zum testen einen parkside bewässerungscomputer gekauft und nutze zigbee2mqtt.
Der Parside lässt sich mit zigbee2mqtt pairen , wird aber als nicht unterstütztes Gerät angezeigt.
Nun lassen sich solche Geräte ja manuell in der zigbee2mqttkonfiguration anlegen , leider bin ich damit überfordert.

Hat das hier grundsätzlich schonmal jemand gemacht und könnte mich unterstützen ?

gruss Thomas

laberlaib

Gude.
Ich hab den auch mal gekauft, selbes setup.
Ich hab auch mal ne unbekannte Lampe bei z2m bekannt gemacht.
Generell ist das nicht schwer, gibt iirc auch eine Anleitung auf der Seite von z2m.

Mein Nachbar hat die Bestellung ausgelöst, wenn das Ding dann da ist, dann schau ich es mir an.

Philipp
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

Der_Tom

Hi,

Mit 'normalen' Geräten habe ich das auch schon gemacht...
Da ist es kein Hexenwerk.

Das Teil ist aber Tuya und das macht es etwas komplizierter , zumindest komme ich nicht .

Gruss Thomas

Der_Tom

ich habe nochmal etwas rumprobiert.

leider führt der folgende Aufruf in der externen cofiguration ( xxx.js ) :

onEvent: tuya.setTime, // Add this if you are getting no converter for 'commandSetTimeRequest'

dazu , das zigbee2mqtt den start mit folgender fehlermeldung abbricht :

Jun 06 03:53:39 raspberrypi npm[4533]: (node:4547) UnhandledPromiseRejectionWarning: ReferenceError: tuya is not defined
Jun 06 03:53:39 raspberrypi npm[4533]: (node:4547) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
Jun 06 03:53:39 raspberrypi npm[4533]: (node:4547) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.


da ich aber genau nach doku vorgehe, sollte das nicht passieren und ich bin mit meinem Latein leider am Ende

gruss Thomas

laberlaib

Woher bekommst Du den diesen Logauszug?
Ich hab nach Anleitung das loglevel erhöht und dann einen external Converter angelegt:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;



const definition = {
    // Since a lot of Tuya devices use the same modelID, but use different data points
    // it's usually necessary to provide a fingerprint instead of a zigbeeModel
    fingerprint: [
        {
            // The model ID from: Device with modelID 'TS0601' is not supported
            // You may need to add \u0000 at the end of the name in some cases
            modelID: 'TS0601',
            // The manufacturer name from: Device with modelID 'TS0601' is not supported.
            manufacturerName: '_TZE200_htnnfasr'
        },
    ],
    model: 'PSBZS',
    vendor: 'Lidl Germany',
    description: 'Smart Watering Timer',
    supports: 'thermostat, temperature',
    fromZigbee: [
        fz.tuya_data_point_dump, // This is a debug converter, it will be described in the next part
    ],
    toZigbee: [
        tz.tuya_data_point_test, // Another debug converter
    ],
    configure: async (device, coordinatorEndpoint, logger) => {
        const endpoint = device.getEndpoint(1);
        await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
    },
    exposes: [
        // Here you should put all functionality that your device exposes
    ],
};

module.exports = definition;


Hier sind die beiden Zeilen mit "//add this if..." sukzessive entfernt worden - genutzt hat es nichts.
Z2M versucht 5x zu startten, legt dabei aber nur log-Verzeichnisse an, darin aber keine Dateien.

Sobald ich den Verweis auf den external_converter wieder raus nehme, tut alles wie gehabt.

Ich verfolge auch den Thread auf Github bzgl. dem Teil.
https://github.com/Koenkk/zigbee2mqtt/issues/7695
Wobei in dem, was da gepostet wurde mindestens ein Typo ("_" zu viel) drin ist.
const ea = exposes.access;_
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

laberlaib

Update:
bei Z2M gibt es eine Lösung, das Ding zumindest an zu schalten und die Leute arbeiten an mehr.
Das hat auch exakt so funktioniert, wie beschrieben.

ich musste zuerst Z2M updaten, um die richtigen Menüs im Frontend zur Auswahl zu haben, was ein wenig müsig war. Dann wars aber einfach.
Läuft dann 60 Sekunden.
Wenn das Ding läuft, und man wieder "ON" schickt, dann beginnt die Zeit wieder von vorne.
D.h. für längere Laufzeiten muss man sich irgend etwas basteln, was selber die Zeit nimmt und dann so lange wieder "ON" schickt, bis die Zeit durch ist.
Z.B. per DOIF repeadcmd o.ä. wenn da die Anzahl dynamisch, d.h. aus einem Reading oder so geht - das hab ich mir jetzt nicht weiter angeschaut, da ich derzeit keinen echten UseCase dafür habe.

defmod irr_Bewaesserungscomputer MQTT2_DEVICE zigbee_0x847127fffe1aae1a
attr irr_Bewaesserungscomputer IODev MQTT2_FHEM_Server
attr irr_Bewaesserungscomputer devicetopic zigbee2mqtt/0x847127fffe1xxxxx
attr irr_Bewaesserungscomputer eventMap { dev=>{ON=>'on',OFF=>'off'} }
attr irr_Bewaesserungscomputer readingList zigbee2mqtt/0x847127fffe1xxxxx:.* { json2nameValue($EVENT) }
attr irr_Bewaesserungscomputer room FLORA
attr irr_Bewaesserungscomputer setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
  off:noArg $DEVICETOPIC/set {"state":"OFF"}\
attr irr_Bewaesserungscomputer setStateList on off
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)