Hallo.
Ich habe einen NanoCul am Raspi 4, der die Werte von Techem HKV sowie Wasserzähler empfangen soll und an FHEM übergibt. Seit ca. 2 Monaten habe ich aber das Problem, dass regelmäßig keine Werte mehr in FHEM ankommen.
Starte ich den kompletten Raspi neu, oder entferne den Stick und stecke ihn an den Raspi wieder an, funktioniert es wieder ein paar Tage (mal 2, mal länger, völlig unregelmäßig).
Definiert ist er in FHEM als /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400 0000
'get version' zeigt: nanoCUL version => V 1.26.08 a-culfw Build: private build (unknown) nanoCUL433 (F-Band: 868MHz)
Hat jemand eine Idee, was ich tun kann, damit der Cul wieder ordentlich funktioniert, ohne diese Aussetzer? Oder geht er evtl kaputt?
Wenn er nichts mehr empfängt und ich eine 'GET' Abfrage mache, kommt nur die Meldung 'No Answer'.
Zitat1.26.08 a-culfw Build: private build (unknown) nanoCUL433 (F-Band: 868MHz)
warum sind hier 433 und 868 zu sehen?
falsch fw? oder falscher cul?
Es hat eine Antenne für 868 MHz dran, und läuft auf rfmode WMBus_T - was ja 868MHz nutzt.
Lange Zeit (über ein Jahr) lief es mit dieser Firmware problemlos.
Soweit ich weiß, ist es egal, welcher CUL, hauptsache die Antenne passt zur benötigten Frequenz. Warum da die 433 stehen kann ich ehrlich gesagt gar nicht sagen.
ZitatWenn er nichts mehr empfängt und ich eine 'GET' Abfrage mache, kommt nur die Meldung 'No Answer'.
Es kann sein, dass wegen Stromversorgung oder andere Probleme der USB-Stick nicht mehr erreichbar ist.
Ich wuerde in dmesg oder /var/log/messages schauen, ob es Fehlermeldungen zu sehen sind.
Ein USB-Hub mit externer Stromversorgung auszuprobieren waere auch eine Alternative.
ZitatSoweit ich weiß, ist es egal, welcher CUL, hauptsache die Antenne passt zur benötigten Frequenz.
Das ist nicht richtig, die Antennen-Anpassung (Balun (https://de.wikipedia.org/wiki/Balun)?) muss zur Frequenz bzw. Antenne passen.
Waere auch unplausibel, dass all die Platinen-Hersteller (die das wissen sollten) den Einsatzgebiet sinnlos einschraenken.
Zitat von: rudolfkoenig am 05 Juli 2021, 08:46:46
Ich wuerde in dmesg oder /var/log/messages schauen, ob es Fehlermeldungen zu sehen sind.
Ein USB-Hub mit externer Stromversorgung auszuprobieren waere auch eine Alternative.
Danke für den Hinweis. Wenn das Problem erneut auftritt, schau ich da mal. Merkwürdig ist es dennoch, da Hardwaremäßig nichts geändert wurde und es lange Zeit problemlos lief.
Ein anderer Cul für 433 Mhz läuft völlig problemlos.
Mal eine kleine Rückmeldung. In den Logs des Raspi hab ich leider nichts gefunden. Habe aber vor paar Tagen ein Firmwareupdate des CUL gemacht.
'get Version' zeigt nun: nanoCUL version => V 1.26.08 a-culfw Build: private build (unknown) nanoCUL868 (F-Band: 868MHz)
Ich habe aber in der board.h eigentlich alle Protokolle, die ich nicht brauchte auskommentiert und die TTY_BUFSIZE auf 256 erhöht.
Das Flashen ist nun 5 Tage her, seitdem hab ich keinen Ausfall mehr gehabt. Sollte ich doch wieder Ausfälle erleben, werde ich es hier dokumentieren.
board.h:
#ifndef _BOARD_H
#define _BOARD_H
#include <avr/io.h>
#include <stdint.h>
/* if you have an Arduino with only 8MHz disable the next line */
#define HAS_16MHZ_CLOCK
/* if you are using a CC1101 module for 868MHz disable the next line */
#if defined (nanoCUL433)
//#define HAS_CC1100_433
#endif
#define SPI_PORT PORTB
#define SPI_DDR DDRB
#define SPI_SS 2
#define SPI_MISO 4
#define SPI_MOSI 3
/* die aufgelötete gelbe LED ist an PB5/SCLK angeschlossen! */
#define SPI_SCLK 5
#define CC1100_CS_DDR SPI_DDR
#define CC1100_CS_PORT SPI_PORT
#define CC1100_CS_PIN SPI_SS
/* CC1101 GDO0 Tx / Temperature Sensor */
#if 0
#define CC1100_OUT_DDR DDRC
#define CC1100_OUT_PORT PORTC
#define CC1100_OUT_PIN PC0
#define CC1100_OUT_IN PINC
#define CCTEMP_MUX CC1100_OUT_PIN
#else
#define CC1100_OUT_DDR DDRD
#define CC1100_OUT_PORT PORTD
#define CC1100_OUT_PIN PD3
#define CC1100_OUT_IN PIND
#define CCTEMP_MUX CC1100_OUT_PIN
#endif
/* CC1101 GDO2 Rx Interrupt */
#define CC1100_IN_DDR DDRD
#define CC1100_IN_PORT PIND
#define CC1100_IN_PIN PD2
#define CC1100_IN_IN PIND
#define CC1100_INT INT0
#define CC1100_INTVECT INT0_vect
#define CC1100_ISC ISC00
#define CC1100_EICR EICRA
/* externe LED */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN 1
//#define LED_ON_DDR DDRB
//#define LED_ON_PORT PORTB
//#define LED_ON_PIN 1
#define BOARD_ID_STR "nanoCUL868"
#define BOARD_ID_STR433 "nanoCUL433"
/* define this device as a 433 MHz one */
/* this isn't done like a CUL by reading a port pin but instead a fixed value of 0 for mark433_pin is used */
#define MULTI_FREQ_DEVICE
#define MARK433_PIN mark433_pin
#define MARK433_BIT 0
extern const uint8_t mark433_pin;
#define HAS_UART
#define UART_BAUD_RATE 38400
/* ATMega328P has only one UART, no need to define the UART to use */
//#define USART_RX_vect USART0_RX_vect
//#define USART_UDRE_vect USART0_UDRE_vect
#define TTY_BUFSIZE 256
#define RCV_BUCKETS 2 // RAM: 25b * bucket
#define FULL_CC1100_PA // PROGMEM: 108b
#define HAS_RAWSEND //
//#define HAS_FASTRF // PROGMEM: 468b RAM: 1b
//#define HAS_ASKSIN
/* Intertechno Senden einschalten */
//#define HAS_INTERTECHNO
#define HAS_CC1101_RX_PLL_LOCK_CHECK_TASK_WAIT
#define HAS_CC1101_PLL_LOCK_CHECK_MSG
#define HAS_CC1101_PLL_LOCK_CHECK_MSG_SW
/* HAS_MBUS requires about 1kB RAM, if you want to use it you
should consider disabling other unneeded features
to avoid stack overflows
*/
# define HAS_MBUS
//# define HAS_TX3
//# define HAS_UNIROLL
//# define HAS_SOMFY_RTS
//# define HAS_RFNATIVE
//# define HAS_MEMFN
#if defined (nanoCUL433)
/* Intertechno Empfang einschalten */
//# define HAS_IT
//# define HAS_REVOLT
//# define HAS_TCM97001
//# define HAS_HOMEEASY
//# define HAS_BELFOX
//# define HAS_MANCHESTER
#endif
#if defined (nanoCUL868)
//# define HAS_ASKSIN_FUP
//# define HAS_MORITZ
//# define HAS_RWE
//# define HAS_ESA
//# define HAS_HOERMANN
//# define HAS_HOERMANN_SEND
//# define HAS_HMS
//# define OFF_LACROSSE_HMS_EMU // if you like HMS emulation for LaCrosse temp devices
//#define HAS_SOMFY_RTS
//#define HAS_FHT_80b // PROGMEM: 1374b, RAM: 90b
//#define HAS_FHT_8v // PROGMEM: 586b RAM: 23b
//#define HAS_FHT_TF
//#define FHTBUF_SIZE 200 // RAM: 174b
//#define HAS_KOPP_FC
//#define HAS_ZWAVE // PROGMEM: 882
#endif
#endif