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?
Hast du
#MY_NODE_ID 1 vor
#include MySensors.h definiert?
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
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...
Wenn autocreate aktiviert ist, hat man solche Probleme nicht. ;)
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?
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.
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 (https://www.mysensors.org/build/debug#clearing-eeprom)
Gruß
Sany