NEWS
Wasserzähler (Funk 868) auslesen.
-
@hg6806 dann sollte der Stick auch unter
$ ls -l /dev/serial/by-id
gelistet sein!?
Bei mir heißt er
Atmel Corp. LUFA USB to Serial Adapter Project
-
@michi_pi
Bei mir ist etwas gerade ganz schräg:pi@raspberrypi:~ $ ls -l /dev/serial/by-id insgesamt 0 lrwxrwxrwx 1 root root 13 Mär 6 21:58 usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_01304FAA-if00-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 Mär 6 21:58 usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_01304FAE-if00-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Mär 6 21:58 usb-Texas_Instruments_CC2538_USB_CDC-if00 -> ../../ttyACM0 pi@raspberrypi:~ $ sudo hciconfig
BLE ist gelb, hciconfig bekomme ich keine Meldung.
Reboot auch schon gemacht.
Der Zigbee (CC2538) und auch der nanoCUL (CC1101) stecken beide in einem Hub -
BT habe ich mal neu installiert. hciconfig findet BT.
Den CUL stick findet er jedoch nicht. -
@hg6806 hast du den NanoCul schon mal direkt eingesteckt, also ohne Hub, ob er da gefunden wird?
evtl auch mal den Stick reseten.auch mal mit
dmesg -w
schauen, ob ein Fehler angezeigt wird. -
@michi_pi
Selbst direkt am Pi wird er nicht gefunden.Wie kann ich den Stick resetten?
Die weiße LED blinkt langsam. Ca. 0,5-1Hz
Wenn ich den Taster betätige geht die LED aus.An einem Windows Notebook habe ich in allen Fällen nicht mal eine USB Enummerierung.
Ist der Stick im Eimer?
-
@hg6806 vielleicht hats was mit der Firmware.
glaub es war so, dass man die Taste gedrückt halten musste und dann den Stick einstecken, dann ein paar Sekunden warten und die Taste los lassen.
du kannst dir auch das mal durchlesen
https://www.smarthome-agentur.de/blog/tutorial-nanocul-stick-testen-debugen/ -
~~Es scheint, als wäre nicht jeder Versorger so nett und rückt den Schlüssel raus. Trotz Argument der "Leckage-Erkennung" wurde ich direkt abgeschmettert. Solch sensible Informationen gebe man nicht preis ~~
Nach mehrmaligem Nachhaken wurde wohl doch erkannt, dass ich ein Anrecht auf den Key habe -
So, habe heute einen neuen NanoCUL bekommen.
Der wird zwar gefunden:pi@raspberrypi:~ $ ls -l /dev/serial/by-id insgesamt 0 lrwxrwxrwx 1 root root 13 Mär 17 13:52 usb-busware.de_CUL868-if00 -> ../../ttyACM2 lrwxrwxrwx 1 root root 13 Mär 11 22:50 usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_01304FAA-if00-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 Mär 11 22:50 usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_01304FAE-if00-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Mär 11 22:50 usb-Texas_Instruments_CC2538_USB_CDC-if00 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 Mär 11 22:50 usb-Texas_Instruments_TI_CC2540_USB_CDC_53556628146843420340-if00 -> ../../ttyACM1
Jedoch bekomme ich folgende Fehlermeldung:
pi@raspberrypi:~ $ wmbusmeters auto:c1 Started auto cul on /dev/ttyACM2 listening on c1 (cul) setting link mode(s) c1 is not supported for this cul device!
Kann es sein, dass die Firmware falsch ist und welche ich dafür nehmen soll?
-
-
@michi_pi
Jo, hat mit der neuen FW geklappt. iPerl wird gefunden! Danke!
Jetzt muss ich nur noch den Code von den Stadtwerken bekommen... -
Schön zu hören,
habe mich hier zurückgehalten, da es bei meinem Zähler mit diesen Stick nicht funktionierte und ich niemanden durcheinander bringen wollte.Ich habe die PIN Anforderung ja auch damit begründet, da für den Einbau damit geworben wurde "Mit diesem Zähler ist eine Leckere schnell und einfach zu erkennen". Da sagte ich, das kann ja dann nur sein, wenn der Zähler z.B. wie bei uns überwacht wird.
-
Jetzt habe ich endlich von den Stadtwerken den Key erhalten, es kommen aber keinen Daten?
Warte schon seit 2h.pi@raspberrypi:~ $ sudo wmbusmeters auto:c1 Started auto cul on /dev/ttyACM1 listening on c1 No meters configured. Printing id:s of all telegrams heard!
-
@hg6806 sieht so aus als ob du noch keine config Datei für den Wasserzähler angelegt hast!?
/etc/wmbusmeters.d/[+beliebigerWasserzählerName]
Und wie sieht deine wmbusmeters.conf aus?
sudo nano /etc/wmbusmeters.conf
-
Er hatte dann doch wieder was ausgespuckt.
Ich habe dann meinzaehler angelegt.
Jetzt bekomme ich folgende Meldung:
pi@raspberrypi:/etc/wmbusmeters.d $ sudo wmbusmeters auto:c1 meinwasserzaehler iperl:c1 2xxxxxx6 2Exxxxxxxxxxxxxxxxxxxxxx2 You cannot mix auto with stdin or a file. pi@raspberrypi:/etc/wmbusmeters.d $
EDIT: Das config file ist unverändert:
loglevel=normal device=auto:c1 logtelegrams=false format=json meterfiles=/var/log/wmbusmeters/meter_readings meterfilesaction=overwrite logfile=/var/log/wmbusmeters/wmbusmeters.log
Ach ja, wie bekomme ich die Daten dann in ioBroker?
-
Folgenden Fehler bekomme ich:
pi@raspberrypi:/etc/wmbusmeters.d $ sudo systemctl start wmbusmeters Job for wmbusmeters.service failed because the service did not take the steps required by its unit configuration. See "systemctl status wmbusmeters.service" and "journalctl -xe" for details. pi@raspberrypi:/etc/wmbusmeters.d $ systemctl status wmbusmeters.service ● wmbusmeters.service - "wmbusmeters service" Loaded: loaded (/lib/systemd/system/wmbusmeters.service; enabled; vendor preset: enabled) Active: failed (Result: protocol) since Sat 2021-03-27 10:15:06 CET; 28s ago Docs: https://github.com/weetmuts/wmbusmeters man:wmbusmeters(1) Process: 17680 ExecStartPre=/bin/mkdir -p /var/log/wmbusmeters/meter_readings (code=exited, status=0/SUCCESS) Process: 17684 ExecStartPre=/bin/chown -R wmbusmeters:wmbusmeters /var/log/wmbusmeters (code=exited, status=0/SUCCESS) Process: 17685 ExecStartPre=/bin/mkdir -p /run/wmbusmeters (code=exited, status=0/SUCCESS) Process: 17686 ExecStartPre=/bin/chown -R wmbusmeters:wmbusmeters /run/wmbusmeters (code=exited, status=0/SUCCESS) Process: 17687 ExecStart=/usr/sbin/wmbusmetersd /run/wmbusmeters/wmbusmeters.pid (code=exited, status=0/SUCCESS) Mär 27 10:15:06 raspberrypi systemd[1]: wmbusmeters.service: Service RestartSec=1s expired, scheduling restart. Mär 27 10:15:06 raspberrypi systemd[1]: wmbusmeters.service: Scheduled restart job, restart counter is at 3. Mär 27 10:15:06 raspberrypi systemd[1]: Stopped "wmbusmeters service". Mär 27 10:15:06 raspberrypi systemd[1]: wmbusmeters.service: Start request repeated too quickly. Mär 27 10:15:06 raspberrypi systemd[1]: wmbusmeters.service: Failed with result 'protocol'. Mär 27 10:15:06 raspberrypi systemd[1]: Failed to start "wmbusmeters service".
-
@hg6806 die config Datei für den Wasserzähler hast aber noch nicht angelegt oder?
sudo nano /etc/wmbusmeters.d/meinwasserzaehler
die sollte bei dir so aussehen
name=watermeter type=iperl id=2xxxxxx6 key=2Exxxxxxxxxxxxxxxxxxxxxx2
Ich vermute dass wmbusmeters bei dir schon öfters gestartet wurde.
Würde mal alle Sessions killen mitsudo killall -HUP wmbusmeters
und falls es bereits als daemon läuft auch noch
sudo killall -HUP wmbusmetersd
ausführen.
Um die Daten nach iobroker zu bekommen brauchst du einen MQTT Client (z.B. Mosquitto)
in der
/etc/wmbusmeters.conf
fügst du dann ein Zeile ein die so aussiehtshell=/usr/bin/mosquitto_pub -h [IP vom MQTT-Server] -p [Port vom MQTT-Server] -t wmbusmeters/$METER_ID/Gesamt -m "$METER_TOTAL_M3"
Hier hab ich jetzt nur als Beispiel für den Gesamtverbrauch.
Du kannst natürlich noch mehr ENV´s übertragen. Dann jeweils noch eine Zeile einfügen pro ENV.Welche ENV´s bei dir zur Verfügung stehen kannst du über
wmbusmeters --listenvs=iperl
abrufen -
@michi_pi sagte in Wasserzähler (Funk 868) auslesen.:
@hg6806 die config Datei für den Wasserzähler hast aber noch nicht angelegt oder?
sudo nano /etc/wmbusmeters.d/meinwasserzaehlerdie sollte bei dir so aussehen
name=watermeter
type=iperl
id=2xxxxxx6
key=2Exxxxxxxxxxxxxxxxxxxxxx2Ja, hatte ich angelegt
Hier ist Ausgaben:
pi@raspberrypi:~ $ sudo killall -HUP wmbusmeters wmbusmeters: Kein Prozess gefunden pi@raspberrypi:~ $ cd /etc/wmbusmeters.d pi@raspberrypi:/etc/wmbusmeters.d $ sudo killall -HUP wmbusmeters wmbusmeters: Kein Prozess gefunden pi@raspberrypi:/etc/wmbusmeters.d $ sudo killall -HUP wmbusmetersd wmbusmetersd: Kein Prozess gefunden
Ich habe den MQTT Adapter in ioBroker installiert.
Reicht das, und wo müsste ich die Server Daten eingeben?Habe jetzt nochmal Autostart aktiviert und den Pi neu gestartet.
Danach folgendes:
pi@raspberrypi:~ $ cd /etc/wmbusmeters.d pi@raspberrypi:/etc/wmbusmeters.d $ wmbusmeters auto:c1 meinwasserzaehler iperl:c1 2xxxxx6 2E13xxxxxxxxxxxxxxxxxxxxxxxxxx2 You cannot mix auto with stdin or a file. pi@raspberrypi:/etc/wmbusmeters.d $
-
@hg6806 sagte in Wasserzähler (Funk 868) auslesen.:
Ich habe den MQTT Adapter in ioBroker installiert.
Nein das reicht nicht. In iobroker stellst du ihn als Server ein.
Am pi installierst du folgendes noch. Das ist dann der Client.
$ sudo apt install -y mosquitto mosquitto-clients
Zu wmbusmeters, du brauchst denn dann nicht mehr mit
wmbusmeters auto:c1...
zu starten.Es reicht dann einfach der Befehl
sudo systemctl start wmbusmeters
damit er auch bei jedem Neustart alleine startet, gibst du noch diesen Befehl ein
sudo systemctl enable wmbusmeters
Aber vorher erst die Config fertig stellen.
-
Nochmal, hier die meinwasserzahler:
name=meinwasserzaehler type=iperl:c1 id=2xxxxx6 key=2Exxxxxxxx2
Hier die config:
loglevel=normal device=auto:c1 logtelegrams=false format=json meterfiles=/var/log/wmbusmeters/meter_readings meterfilesaction=overwrite logfile=/var/log/wmbusmeters/wmbusmeters.log
Sollte doch so passen, oder?
pi@raspberrypi:~ $ sudo nano /etc/wmbusmeters.d/meinwasserzaehler pi@raspberrypi:~ $ sudo nano /etc/wmbusmeters.conf pi@raspberrypi:~ $ sudo systemctl start wmbusmeters pi@raspberrypi:~ $ sudo systemctl enable wmbusmeters pi@raspberrypi:~ $ wmbusmeters auto:c1 meinwasserzaehler iperl:c1 21xxxxx6 2E13C xxxxxxxxxxxxxx2 (cmdline) cannot set link modes to: c1 because meter iperl only transmits on: t1 pi@raspberrypi:~ $
Habe dann in der Config und im Befehl von c1 auf t1 umgestellt.
Das hat funktioniert.
Was muss ich bei Mosquitto noch tun?
Hier die Ausgaben:pi@raspberrypi:~ $ wmbusmeters auto:t1 meinwasserzaehler iperl:t1 2xxxxxx6 2E13CF5xxxxxxxxxxxxx2 Started auto cul on /dev/ttyACM1 listening on t1 ^Cpi@raspberrypi:~ $ sudo apt install -y mosquitto mosquitto-clients Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: libev4 libmosquitto1 libuv1 libwebsockets8 Vorgeschlagene Pakete: apparmor Die folgenden NEUEN Pakete werden installiert: libev4 libmosquitto1 libuv1 libwebsockets8 mosquitto mosquitto-clients 0 aktualisiert, 6 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 484 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 1.054 kB Plattenplatz zusätzlich benutzt. Holen:1 http://mirror.pyratelan.org/raspbian/raspbian buster/main armhf libev4 armhf 1:4.25-1 [34,5 kB] Holen:2 http://ftp.halifax.rwth-aachen.de/raspbian/raspbian buster/main armhf libmosquitto1 armhf 1.5.7-1+deb10u1 [57,6 kB] Holen:3 http://ftp.halifax.rwth-aachen.de/raspbian/raspbian buster/main armhf libuv1 armhf 1.24.1-1 [96,7 kB] Holen:4 http://mirror.de.leaseweb.net/raspbian/raspbian buster/main armhf libwebsockets8 armhf 2.0.3-3 [85,6 kB] Holen:5 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf mosquitto armhf 1.5.7-1+deb10u1 [143 kB] Holen:6 http://ftp.halifax.rwth-aachen.de/raspbian/raspbian buster/main armhf mosquitto-clients armhf 1.5.7-1+deb10u1 [66,8 kB] Es wurden 484 kB in 2 s geholt (231 kB/s). Vormals nicht ausgewähltes Paket libev4:armhf wird gewählt. (Lese Datenbank ... 106772 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../0-libev4_1%3a4.25-1_armhf.deb ... Entpacken von libev4:armhf (1:4.25-1) ... Vormals nicht ausgewähltes Paket libmosquitto1:armhf wird gewählt. Vorbereitung zum Entpacken von .../1-libmosquitto1_1.5.7-1+deb10u1_armhf.deb ... Entpacken von libmosquitto1:armhf (1.5.7-1+deb10u1) ... Vormals nicht ausgewähltes Paket libuv1:armhf wird gewählt. Vorbereitung zum Entpacken von .../2-libuv1_1.24.1-1_armhf.deb ... Entpacken von libuv1:armhf (1.24.1-1) ... Vormals nicht ausgewähltes Paket libwebsockets8:armhf wird gewählt. Vorbereitung zum Entpacken von .../3-libwebsockets8_2.0.3-3_armhf.deb ... Entpacken von libwebsockets8:armhf (2.0.3-3) ... Vormals nicht ausgewähltes Paket mosquitto wird gewählt. Vorbereitung zum Entpacken von .../4-mosquitto_1.5.7-1+deb10u1_armhf.deb ... Entpacken von mosquitto (1.5.7-1+deb10u1) ... Vormals nicht ausgewähltes Paket mosquitto-clients wird gewählt. Vorbereitung zum Entpacken von .../5-mosquitto-clients_1.5.7-1+deb10u1_armhf.deb ... Entpacken von mosquitto-clients (1.5.7-1+deb10u1) ... libmosquitto1:armhf (1.5.7-1+deb10u1) wird eingerichtet ... libev4:armhf (1:4.25-1) wird eingerichtet ... mosquitto-clients (1.5.7-1+deb10u1) wird eingerichtet ... libuv1:armhf (1.24.1-1) wird eingerichtet ... libwebsockets8:armhf (2.0.3-3) wird eingerichtet ... mosquitto (1.5.7-1+deb10u1) wird eingerichtet ... Job for mosquitto.service failed because the control process exited with error code. See "systemctl status mosquitto.service" and "journalctl -xe" for details. invoke-rc.d: initscript mosquitto, action "start" failed. ● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker Loaded: loaded (/lib/systemd/system/mosquitto.service; disabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Sat 2021-03-27 20:04:55 CET; 34ms ago Docs: man:mosquitto.conf(5) man:mosquitto(8) Process: 350 ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf (code=exited, status=1/FAILURE) Main PID: 350 (code=exited, status=1/FAILURE) dpkg: Fehler beim Bearbeiten des Paketes mosquitto (--configure): »installiertes mosquitto-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 1 zurück Trigger für systemd (241-7~deb10u6+rpi1) werden verarbeitet ... Trigger für man-db (2.8.5-2) werden verarbeitet ... Trigger für libc-bin (2.28-10+rpi1) werden verarbeitet ... Fehler traten auf beim Bearbeiten von: mosquitto E: Sub-process /usr/bin/dpkg returned an error code (1) pi@raspberrypi:~ $ wmbusmeters auto:t1 meinwasserzaehler iperl:t1 212xxxx6 2E13CF5xxxxxxxxxxxxxxx2 Started auto cul on /dev/ttyACM1 listening on t1 ^Cpi@raspberrypi:~ sudo nano /etc/mosquitto/mosquitto.conf pi@raspberrypi:~ $
-
@hg6806 sagte in Wasserzähler (Funk 868) auslesen.:
loglevel=normal
device=auto:c1
logtelegrams=false
format=json
meterfiles=/var/log/wmbusmeters/meter_readings
meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.login deiner Config stellst du dann noch auf auto:t1 um und fügst du zu sendende Zeile an MQTT noch hinzu
loglevel=normal device=auto:t1 logtelegrams=false format=json meterfiles=/var/log/wmbusmeters/meter_readings meterfilesaction=overwrite logfile=/var/log/wmbusmeters/wmbusmeters.log shell=/usr/bin/mosquitto_pub -h [IP vom MQTT-Server] -p [Port vom MQTT-Server] -t wmbusmeters/$METER_ID/Gesamt -m "$METER_TOTAL_M3"
zu deinem Fehler, was steht unter
journalctl -xe
?und wie gesagt diese Befehlszeile
wmbusmeters auto:c1 meinwasserzaehler iperl:c1 21xxxxx6 2E13C xxxxxxxxxxxxxx2
brauchst du nicht eingeben, dass ist nur zum testen.
mit dem starten von wmbusmetersd wird deine config und die Wasserzähler config herangezogen, diese läuft dann als daemon.