Neuigkeiten:

Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden ;)

Hauptmenü

[erledigt] MySensors - reboot von fhem aus

Begonnen von Sany, 03 Februar 2021, 15:04:17

Vorheriges Thema - Nächstes Thema

Sany

Moin zusammen,

ich hab die Tage einen Mysensors-node erneuert und wundere mich, dass der reboot per fhem (set XXX reboot) nicht mehr geht. Ich hab das dann bei anderen nodes probiert und siehe da, geht auch dort nicht. Wurde denn in letzter Zeit (>= 6 Monate) da fhem-seitig etwas geändert? Funktioniert hat es auf jeden Fall denn ich habe immer mal wieder nodes resettet, weil ich z.B. die Neustart-Anzeige in fhem testen wollte.
Mein Stand:
Gateway (LAN) 2.3.2
die meisten nodes: 2.3.2, bis auf 1 ganz neuen haben alle Optiboot 6.2, der neueste Optiboot 8
00_MYSENSORS.pm        23460 2021-01-03 06:29:50Z Beta-User
10_MYSENSORS_DEVICE.pm 23257 2020-11-29 14:47:32Z Beta-User

Am Gateway habe ich LEDs, die bei "funkverkehr" auch leuchten, also z.B. ein Relay-Node, der von fhem aus geschaltet wird, wird angezeigt. Sende ich den reboot-Befehl leuchtet nix, im Log nix (node auf verbose 5) und auch der serielle Monitor, wo der Relay-node noch dranhängt, zeigt nix.

In den Foren finde ich auch keine Hinweise, vielleicht ist es schon länger her oder ich hab es übersehen.

Kann mir da jemand was zu sagen?

Vielen Dank!

Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Beta-User

"Eigentlich" glaube ich nicht, da in dem genannten Zeitraum irgendwas signifikantes geändert zu haben.

_Vermuten_ könnte man, dass entweder das BL-Attribut nicht gesetzt ist oder kein Reading mit der BL-Version vorhanden ist. Falls das Setzen des Attributs nichts hilft, bitte ein list der betreffenden Node liefern.
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

Sany

#2
Hallo Beta-User,

genau das war es. Vor der ganzen OTA-Geschichte ging es so, wenn ein unterstützter Bootloader auf dem Arduino war. Originale sind wohl in die Endlosschleife...
OTA bei MySensors war nicht interessant für mich, deshalb habe ich da eher nicht gelesen.
Also: nach setzen von attr XX OTA_BL_Type auf Optiboot klappts nun wieder (Optiboot 6.2 und 8) (iregendwie wird ne "acht" zum Sonnenbrillensmily)

Vielen Dank für die schnelle Hilfe!

Grüße
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

frober

Hallo,
da ich gerade darüber gestolpert bin:

Funktioniert der Reboot auch mit Caterina (32u4 -> Micro, Leonardo...)?

In der Auswahl ist er nicht.

Grüße Bernd
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

Beta-User

Zum testen kannst du das auch bewusst falsch setzen, das Attribut dient nur dazu zu verhindern, dass unbeabsichtigt an unpassende BL gesendet wird.
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

frober

OK, danke.
Dauert noch ein paar Wochen, bis ich die Nodes im Garten anschließe.
Melde dann zurück wie es funktioniert hat...
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

Beta-User

Zitat von: frober am 03 Februar 2021, 20:29:49
OK, danke.
Dauert noch ein paar Wochen, bis ich die Nodes im Garten anschließe.
Melde dann zurück wie es funktioniert hat...
Dann bin ich mal gespannt....

Das "Problem" ist wohl, dass "Standard-MySensors" einen Bootflag für den Reboot setzt, um (mit dem MyS-BL) den OTA-Modus zu starten. Diesen kannte der "alte BL" nicht, und ich unterstelle mal, dass das flag nicht gesetzt wird, wenn Optiboot erkannt wird.

Vielleicht ergänzend und zur Klarstellung zu
Zitat von: Beta-User am 03 Februar 2021, 20:16:27
Zum testen kannst du das auch bewusst falsch setzen, das Attribut dient nur dazu zu verhindern, dass unbeabsichtigt an unpassende BL gesendet wird.
Bei der hier gestellten Frage ging es nur um den reinen Reboot. Für diesen Teil ist die obige Aussage auch völlig korrekt.
Allerdings hat das Attribut bei OTA-Anweisungen ebenfalls Auswirkungen: Bei MyS-BL wird durch die OTA-Anweisung ein "reboot mit flag" veranlasst (und der BL ruft dann die neuen firmwaredaten ab), bei Optiboot werden die Firmwaredaten durch den Sketch auf einen EEPROM-Chip geschrieben (so vorhanden) und dann erst neu gestartet, wenn das fertig ist...
Also falls nach dem Testen da Bedarf für ein "other_known_to_work" bestehen sollte: bitte melden...
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

frober

Mir ging es rein um den Reboot.

Aktuell habe ich eine rein serielle Verbindung (RS485). Da wird OTA, denke ich, nicht funktionieren.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

Beta-User

...schon lange her, dass ich mich damit beschäftigt habe...

Ich meine, mit dem Optiboot (+Speicherchip!) müsste "OTA" auch für RS485 klappen. Wie geschrieben: Der Mechanismus ist bei Optiboot ein anderer, da wird die "reguläre Funktionsweise" genutzt, um die Firmwaredaten zu verschicken, erst beim Reboot wird dann die Firmware (von Speicherchip nach ATMega) umkopiert. Kann nur sein, dass du dir mit dem "Dauerfunk" den Bus abschießt, aber dann wüßten wir auch das...
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

frober

Wenn ich dich richtig verstehe, braucht der Atmega ein ext. EEPROM für OTA. Wäre auch logisch bezogen auf die Speichergröße.
Das hat jedoch kein Arduino, oder?

Falls ich das jemals teste, dann auf einem Testsystem.

Ich bin erstmal froh, wenn alle meine Nodes produktiv funktionieren. Leitungslänge etc.
Deswegen wäre der Reboot evtl. hilfreich.

Auf dem Küchentisch hat schon Mal alles sauber funktioniert 8)
GW + 1 Node laufen seit Wochen störungsfrei. :)
15cm Abstand ohne Terminierung, diese sitzt auf den noch inaktiven Nodes. :D
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

Beta-User

Jein. Das klappt an sich wohl schon mit einem Arduino, das ganze zielt aber ab auf ATMega328p, siehe die Einleitung zu https://www.mysensors.org/about/fota#the-fota-bootloader

Etwas weiter unten dann:
Zitat
Dualoptiboot requires external flash: FOTA updates are transmitted online, i.e. while the node is active. Once all FW packets are transmitted and CRC verified, the node reboots, dualoptiboot copies FW from external flash to MCU and hands over to the new sketch/FW. That means too that you need to ftdi upload your node sketch the first time or fota won't work yet as it is handled in the sketch.

       
  • Pro: Radio agnostic (no radio specific code in bootloader so can be used in different scheme/protocols..), online (while node processes sensor data)
  • Cons: Faulty FW (e.g. freezing sketch due to bad coding) cannot be recovered FOTA => recovery via serial port necessary, external flash required

So gesehen, müsste das theoretisch z.B. auch mit einem STM32 (ohne externen Flash) gehen, allerdings muss a) der "normale Node-Code" wissen, wie er die Pakete wohin schreiben soll und dann nach Ende der Übertragung den BL aufrufen muss, und b) ein passender BL da drauf sein.
Ausprobiert habe ich das bisher nur mit dem MyS-BL (=> nRF24), Speicherchips (für ATMega328p gehen bestimmter I2C-Typen) liegen aber seit Jahren ungenutzt in der Box... (geht ja alles auch so).
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

frober

Danke nochmals für die ausführliche Erklärung.
Ich hoffe/gehe davon aus, dass ich OTA auch nicht brauche.

Wenn RS485 Probleme machen sollte, muss ich eher die Terminierung ändern. Aktuell nur 120 Ohm an beiden Enden.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

frober

Zitat von: frober am 03 Februar 2021, 20:29:49
OK, danke.
Dauert noch ein paar Wochen, bis ich die Nodes im Garten anschließe.
Melde dann zurück wie es funktioniert hat...

Da nun alles läuft, noch meine Rückmeldung:

Der Reboot funktioniert auch mit Caterina (32u4 -> Micro, Leonardo...).
Es reicht, im Attribut Optiboot anzugeben.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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