FHEM weißt Daten falscher Node zu

Begonnen von Keichi, 17 Dezember 2022, 00:26:43

Vorheriges Thema - Nächstes Thema

Keichi

Ich habe in Fhem jeweils 3 MySensor Devices angelegt, wobei 0 die Node ID vom Gateway ist und ich bei Node 1 und 2 gerade immer mit dem selben Arduino Nano hin und her switche weil ich noch am Testen der Sensoren bin und keine Lust habe den zweiten Nano auf das Breadboard zu packen.

Dummerweise weißt Fhem selbst wenn man MY_NODE_ID 1 oder 2 im Sketch Definiert, die Werte die rüber geschickt werden immer Node 2 in FHEM zu. Hat da zufällig wer ne Idee was das sein könnte?

frober

Hast du
#MY_NODE_ID 1 vor
#include MySensors.h definiert?
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Keichi

Ja, die Includes werden ja normal erst kurz vor der Presentation() gemacht und das mit #define MY_NODE_X steht bei mir ziemlich weit am Anfang

KarlHeinz2000

Hast du den Node in FHEM richtig definiert? Am Schluss muss die Node ID stehen:

defmod MYSENSOR_100 MYSENSORS_DEVICE 100

Ich hatte ein ähnliches Problem am Anfang, nachdem ich die DEF einfach kopiert hatte...

frober

Wenn autocreate aktiviert ist, hat man solche Probleme nicht.  ;)
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Keichi

Durch das Autocreate hat er die Node vernünftig angelegt, das ist es also auch nicht. Ein Gedanken der mir allerdings kam, weils ja immer der selbe Nano ist wegen Testzwecken... Kann es sein, das Fhem die Adresse der Node bevorzugt behandelt und dadurch das ignoriert, was im Sketch steht?

Beta-User

Ziemlich sicher: nein. Spätestens nach einem Neustart sollte alles ok sein. Vielleicht werden bestimmte Internals nicht gefüllt, wenn man da irgendwo im laufenden Betrieb irgendwas hin- und her schiebt.

Ggf. bitte einfach zum einen mal schauen, was die debug-Ausgabe (serielle Schnittstelle der Node abgreifen) so zeigt, und zum anderen ggf. mal verbose an der Node+dem GW hochdrehen. Dann sieht man ggf. mehr.
Server: HP-T620@Debian 11, 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

Sany

ZitatHast du
#MY_NODE_ID 1 vor
#include MySensors.h definiert?
ZitatJa, die Includes werden ja normal erst kurz vor der Presentation() gemacht und das mit #define MY_NODE_X steht bei mir ziemlich weit am Anfang

wie frober schon schrieb muss das in der richtigen Reihenfolge sein. Wenn nicht wird es beim include von mysensors.h nicht beachtet. Damit gilt die Default-Einstellung Auto für die Node-ID, was bedeutet, dass das Gateway eine ID zuweist. Diese wird dann im EEPORM vom Arduino hinterlegt. Wenn Du nun den Arduino immer wieder verwendest kann es schon sein, dass die ID immer bleibt.
Ich habe bei mir von Anfang an die IDs fest vergeben, deshalb kenn ich auch die Auswirkungen nicht, wenn da mal Auto verrwendet wurde.
Falls Du also denkst, das könnte damit zusammenhängen: es gibt einen Sketch zum löschen des EEPROMS, danach dann feste IPs verwenden und es sollte klappen.
https://www.mysensors.org/build/debug#clearing-eeprom

Gruß


Sany

fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....