NEWS
Probleme mit rtl_433 Adapter
-
Systemdata Bitte Ausfüllen Hardwaresystem: Rasp 4 Arbeitsspeicher: 4GB Festplattenart: SSD Betriebssystem: Linux Node-Version: 4.01 Nodejs-Version: 16.18.0 NPM-Version: 8.19.2 Installationsart: Manuell Image genutzt: Nein Adapter: https://github.com/phillipssc/ioBroker.rtl_433
Problem:
Wenn ein neuer Temperatursensor (Bresser tempreture sensors) auftaucht, dann wird folgende Meldung im Log ausgegeben: Error: Parameter "parentChannel" needs to be of type "string" but type "undefined" has been passed. Es werden beim Sensorobjekt nur die Info und Meta Daten auf, nicht aber die Temperaturdaten, Luftfeuchtigkeit usw. Schon vorhandene Sensoren funktionieren ohne Probleme.Vermutlich fligt er im script (iobrokerinterface.js) an dieser Try - catch raus, bin mir aber 1. nicht sicher, und 2. habe ich keine Idee was da anders sein müsste, da ich ich Js nicht wirklich kenne sondern eher VB und C.// Create and populate a new device try { this.createDevice(dObj, (devAddr) => { this.createChannel(dObj, this.aAdj(devAddr), 'INFO', () => { this.createChannel(dObj, this.aAdj(devAddr), 'META', () => { const defaultTypeData = { type: 'string', role: 'value', read: true, write: false }; Object.keys(dObj).forEach((key) => { this.createState( this.aAdj(devAddr), datapoints[key] ? datapoints[key].channel : undefined, key, datapoints[key] || defaultTypeData, (stateAddr) => { // populate them // const state = datapoints[key] && datapoints[key].type === 'number' ? parseFloat(dObj[key]) : dObj[key]; this.adapter.setState(this.aAdj(stateAddr), dObj[key], true); } ); }); this.createState( this.aAdj(devAddr), 'META', 'discovered', {type: 'string', role: 'info', read: true, write: false}, (stateAddr) => { this.adapter.setState(this.aAdj(stateAddr), dObj['time'], true); } ); // add an uptime state this.createState( this.aAdj(devAddr), 'META', 'uptime', {type: 'string', role: 'info', read: true, write: false}, (stateAddr) => { this.adapter.setState(this.aAdj(stateAddr), '0 seconds', true); } ); // add an alive state this.createState( this.aAdj(devAddr), 'META', 'alive', {type: 'boolean', role: 'switch', read: true, write: false}, (stateAddr) => { this.adapter.setState(this.aAdj(stateAddr), true, true); } ); }); }); }); } catch(err) { this.adapter.log.error(err); }
- Liege ich eventuell da richtig?
- Was müsste geändert werden?
Der Adapter scheint schon länger nicht mehr gepflegt zu werden.
-
@vetinari77 Bist du einer Lösung des Problems näher gekommen? Ich habe gestern die Batterien an meinem Regenmesser gewechselt und seit dem das gleiche Problem. Der Regenmesser bekommt jedesmal beim Batteriewechsel eine neue Nummer und der Adapter kann jetzt den Objektbaum nicht mehr aufbauen.
Ich habe die Frage gerade mal an den Entwickler des Adapters gestellt. Siehe Link Text .
Ich hoffe, ggf. dort eine Antwort zu bekommen. -
Bitte bei Problemen ein Issue im Adapter Repository anlegen. Hier geht sowas unter.
-
@mcm57 Vetinari77 hat das Issue bereits am 28.September im Github-Repo angelegt.