MQTT - RFID - Reader

Begonnen von gloob, 12 Januar 2019, 18:56:40

Vorheriges Thema - Nächstes Thema

gloob

#60
Naja nen bisschen mitdenken muss man beim Einrichten schon. Zumindest der Port ist der Default für MQTT.
Ich überleg mir auch noch was zum Reset der Einstellungen.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

gloob

So nochmal neue Version mit vollständiger Unterstützung für MQTT:


  • IP
  • Port
  • Benutzername
  • Passwort
  • Device Name
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

betateilchen

#62
Zitat von: gloob am 23 Mai 2019, 19:16:56
Naja nen bisschen mitdenken muss man beim Einrichten schon. Zumindest der Port ist der Default für MQTT.

Das hat überhaupt nichts mit fehlendem Mitdenken zu tun, ganz im Gegenteil! Bei dem Reader, den Du mir geschickt hattest, war als port 8080 vorgegeben und das ist in meinem Verständnis ein "default" port für http Verbindungen. Deshalb hatte ich ewig versucht, eine nicht vorhandene Web-Oberfäche des Readers zu erreichen, um eine MQTT Verbindung konfigurieren zu können  8)

Als "Standard" für MQTT würde man eher 1883 als Vorgabe erwarten, dann wäre auch schneller klar, was man da eintragen soll.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gloob

Folgende Default Werte sind jetzt eingetragen:


  • char mqtt_server[40] = "192.168.1.15";
  • char mqtt_port[6] = "1883";
  • char mqtt_device_name[40] = "RFID_Reader";
  • char mqtt_user[40] = "username";
  • char mqtt_pass[40] = "password";
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

betateilchen

Bei mir funktionieren auf einem nackten Wemos D1 mini weder die Version 1.4 noch die 1.5.

Die letzte Version, die mir tatsächlich Ergebnisse per MQTT liefert, ist die Version 1.3 von gestern, bei der man Username und Password fest verdrahtet im Code vorgibt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gloob

#65
Zitat von: betateilchen am 24 Mai 2019, 12:26:31
Bei mir funktionieren auf einem nackten Wemos D1 mini weder die Version 1.4 noch die 1.5.

Die letzte Version, die mir tatsächlich Ergebnisse per MQTT liefert, ist die Version 1.3 von gestern, bei der man Username und Password fest verdrahtet im Code vorgibt.

Komisch, gestern hattest du noch nicht einmal die Möglichkeit die Firmware auf einen Wemos aufzuspielen.  ;)
Was läuft denn nicht? Wie sieht die Ausgabe in der Console aus? Gibt es Fehlermeldungen?
Wie testest du ob Daten über MQTT ankommen?

Stimmt der Device Name?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Frank_Huber

Zitat von: betateilchen am 24 Mai 2019, 12:26:31
Bei mir funktionieren auf einem nackten Wemos D1 mini weder die Version 1.4 noch die 1.5.

Die letzte Version, die mir tatsächlich Ergebnisse per MQTT liefert, ist die Version 1.3 von gestern, bei der man Username und Password fest verdrahtet im Code vorgibt.
das klingt für mich nach ner falschen Einstellung in der IDE.
Ich hatte auch das Problem dass keine Einstellungen gespeichert wurden. allerdings bei der ESP Wetterstation.

Ursächlich war am Ende die falsche Speicherkonfiguration beim flashen. Ich hatte schlicht keinen SPIFFS konfiguriert.

prüfe das doch nochmal.

betateilchen

Zitat von: gloob am 24 Mai 2019, 12:48:39
Komisch, gestern hattest du noch nicht einmal die Möglichkeit die Firmware auf einen Wemos aufzuspielen.  ;)

Stimmt. Gestern hatte ich die Möglichkeit auch nicht. Daran ist überhaupt nix komisch.

Zitat von: gloob am 24 Mai 2019, 12:48:39
Was läuft denn nicht? Wie sieht die Ausgabe in der Console aus? Gibt es Fehlermeldungen?

V1.3 liefert:


mounting FS...
mounted file system
reading config file
opened config file

parsed json
*WM: Adding parameter
*WM: server
*WM: Adding parameter
*WM: port
*WM: Adding parameter
*WM: device_name
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.123.68
wifi connected
setup buttons
setup mqtt
setup rfid
*WM: freeing allocated params!


V1.5 liefert:


mounting FS...
mounted file system
reading config file
opened config file

parsed json
*WM: Adding parameter
*WM: server
*WM: Adding parameter
*WM: port
*WM: Adding parameter
*WM: user
*WM: Adding parameter
*WM: pass
*WM: Adding parameter
*WM: device_name
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.123.68
wifi connected
setup buttons
setup mqtt
MQTT IP: 192.168.xx.xx
MQTT Port: 1883
MQTT device name: RFID_Reader
MQTT user name: xxx
MQTT password: xxx
setup rfid
*WM: freeing allocated params!


Die MQTT Daten user,pass,ip werden im Log korrekt ausgegeben, die xxx sind von mir.

Zitat von: gloob am 24 Mai 2019, 12:48:39
Wie testest du ob Daten über MQTT ankommen?

Gegen einen mosquitto Server. In FHEM ein MQTT_DEVICE gegen den gleichen mosquitto, das Device wird mit V1.3 problemlos mit Daten versorgt wird, in V1.5 kommt gar nix an, nichtmal die Versionsdaten beim Starten.

Zitat von: Frank_Huber am 24 Mai 2019, 12:55:55
Ich hatte auch das Problem dass keine Einstellungen gespeichert wurden.

Die Konfigurationsdaten sind alle da, siehe Logs oben. Ausserdem wäre die Einstellung dann auch bei 1.3 falsch, aber wenn ich 1.3 übertrage, tritt das Problem nicht auf.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gloob

Wie sieht denn dein MQTT Device in FHEM aus?
In der Version 1.3 gab es noch den Bug, dass der eingestellt Devicename nicht richtig gesetzt wurde für die Messages.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

gloob

#69
Zitat von: betateilchen am 24 Mai 2019, 13:17:34
Stimmt. Gestern hatte ich die Möglichkeit auch nicht. Daran ist überhaupt nix komisch.

Sorry, aber verarschen kann ich mich alleine.

Du schreibst mir gestern, dass die Firmware bei dir so nicht einsatzfähig ist und du willst den Reader zurück geben. Angeblich kannst du die neue Firmware mit den Fixes für dich, die ich bereit gestellt habe, nicht aufspielen.
Heute kannst du es auf einmal und testest damit.

Immer wieder toll, wenn man seine Arbeit hier mit dem Forum teilt.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

betateilchen

#70
Wieso verarschen?

Zitat von: gloob am 24 Mai 2019, 13:22:21
Du schreibst mir gestern, dass die Firmware bei dir so nicht einsatzfähig ist und du willst den Reader zurück geben. Angeblich kannst du die neue Firmware mit den Fixes für dich, die ich bereit gestellt habe, nicht aufspielen.

Nochmal: gestern konnte ich das auch nicht, deshalb hatte ich auch geschrieben:

Zitat von: betateilchen am 23 Mai 2019, 13:16:13
Und ich habe aktuell keine Möglichkeit zum Flashen von Firmware.

Dass ich die Möglichkeit heute haben würde, war gestern auch noch nicht absehbar, aber das nur nebenbei angemerkt.




Zitat von: gloob am 24 Mai 2019, 13:19:58
Wie sieht denn dein MQTT Device in FHEM aus?


defmod rfid MQTT_DEVICE
attr rfid IODev mqtt_local
attr rfid autoSubscribeReadings /rfid_reader/+


Damit werden die readings resetReason, version und watchdog korrekt angelegt und aktualisiert.


setstate rfid 2019-05-24 13:21:22 resetReason External System
setstate rfid 2019-05-24 13:21:22 transmission-state incoming publish received
setstate rfid 2019-05-24 13:21:22 version v1.3
setstate rfid 2019-05-24 13:21:22 watchdog 1





Mir ging es mit Sicherheit nicht darum, Dich zu ärgern und den Reader unbedingt wieder zurückgeben zu wollen. Deine Arbeit weiß ich durchaus zu schätzen. Meine Hinweise auf V1.4 und 1.5 waren eigentlich lediglich als konstruktive Hilfe gedacht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gloob

Zitatattr rfid autoSubscribeReadings /rfid_reader/+

Da ist dein Fehler.

In der Firmware 1.5 hast du folgende Lognachricht:

MQTT device name: RFID_Reader
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Frank_Huber

Zitat von: betateilchen am 24 Mai 2019, 13:17:34
Die Konfigurationsdaten sind alle da, siehe Logs oben. Ausserdem wäre die Einstellung dann auch bei 1.3 falsch, aber wenn ich 1.3 übertrage, tritt das Problem nicht auf.
OK, das Log zeigt es. da in 1.3 die Daten hardcoded sind kommt 1.3 normalerweise ohne SPIFFS aus. nur so nebenbei bemerkt. ;)

betateilchen

Zitat von: gloob am 24 Mai 2019, 13:32:00
Da ist dein Fehler.
In der Firmware 1.5 hast du folgende Lognachricht:
MQTT device name: RFID_Reader

Danke für den Hinweis. Das war tatsächlich das Problem.

Interessanterweise scheint die Gross-/Kleinschreibung aber nicht an allen Stellen in der mqtt-Verarbeitung relevant zu sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Frank_Huber am 24 Mai 2019, 13:33:56
OK, das Log zeigt es. da in 1.3 die Daten hardcoded sind kommt 1.3 normalerweise ohne SPIFFS aus. nur so nebenbei bemerkt. ;)

Die Daten für den MQTT Server und seinen Port sind nicht hardcoded... und die für WLAN auch nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!