ArduMower ESP Firmware mit MQTT, HomeAssistant und Prometheus

Hallo EinEinach,
anbei der Log über 3min mit Bootphase und verbundener App ohne weitere Aktionen.
Gruß Holger
Code:
UART tx:
42638 ping
45105 ping
47564 ping
[HTTPS:I] Request: POST / (FID=61)
50011 ping
HTTP rx:AT+V,0x16

UART tx:
53280 ping
54695 UART rx:AT
54695 UART tx:OK
55723 UART rx:AT+VERSION
55723 UART tx:+VERSION=ESP32 firmware V0.4.5,Bluetooth V4.0 LE
55724 ping
56763 UART rx:AT+NAMEArdumower
56764 UART tx:+NAME=Ardumower
58174 UART rx:AT+RESET
58174 UART tx:+RESET
58175 ping
13:48:04.395 -> 60243 ping
13:48:04.395 -> [HTTPS:I] Request: POST / (FID=61)
13:48:05.815 -> 61659 UART rx:V,Sunray,1.0.288,1,128,Adafruit Grand Central M4,AM,XX,XX,1f:fa:af:92:53:35:35:33:34:20:20:20:ff:18:12:21,0x5f
13:48:06.856 -> 62702 ping
13:48:06.856 -> HTTP rx:AT+V,0x16
13:48:06.856 ->
13:48:07.390 -> UART tx:V,Sunray,1.0.288,1,128,Adafruit Grand Central M4,AM,XX,XX,1f:fa:af:92:53:35:35:33:34:20:20:20:ff:18:12:21,0x5f
13:48:07.390 ->
13:48:08.505 -> [HTTPS:I] Request: POST / (FID=61)
13:48:09.535 -> 65366 ping
13:48:10.926 -> 66774 UART rx:S,26.02,0.00,0.00,0.00,0,0,0,19.03,0,0.00,0.00,607400.06,0,0.02,0,0,0.00,0x7b
13:48:10.971 -> HTTP rx:"5k1lqlxnxwqwsstqltxnrwprtyuulpYy
13:48:10.971 ->
13:48:11.355 -> UART tx:P,0x50
13:48:11.355 ->
13:48:12.495 -> 68320 UART rx:T,7,0,0,0,0,0,0.00,0.00,0,998.00,998.00,1,0,0.02,1024,0,0,0,244675,1,0,0,0,0,0x5c
13:48:12.495 -> 68320 ping
13:48:12.495 -> [HTTPS:I] Request: POST / (FID=61)
13:48:14.535 -> 70372 ping
13:48:14.535 -> HTTP rx:"5k4lpYqs
13:48:14.535 ->
13:48:15.021 -> UART tx:S,26.02,0.00,0.00,0.00,0,0,0,24.04,0,0.00,0.00,607400.06,0,0.04,0,0,0.00,0x7a
13:48:15.021 ->
13:48:16.485 -> [HTTPS:I] Request: POST / (FID=61)
13:48:17.516 -> 73344 ping
13:48:18.931 -> HTTP rx:"5k4lpYqs
13:48:18.931 ->
13:48:19.415 -> UART tx:S,26.03,0.00,0.00,0.00,0,0,0,28.43,0,0.00,0.00,607400.06,0,0.04,0,0,0.00,0x82
13:48:19.415 ->
13:48:20.476 -> 76306 ping
13:48:20.476 -> [HTTPS:I] Request: POST / (FID=61)
13:48:22.946 -> 78769 ping
13:48:22.946 -> HTTP rx:"5k4lpYqs
13:48:22.946 ->
13:48:23.421 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,32.45,0,0.00,0.00,607400.06,0,0.05,0,0,0.00,0xb4
13:48:23.421 ->
13:48:24.475 -> [HTTPS:I] Request: POST / (FID=61)
13:48:25.865 -> 81714 ping
13:48:26.945 -> HTTP rx:"5k4lpYqs
13:48:26.945 ->
13:48:27.436 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,36.45,0,0.00,0.00,607400.06,0,0.05,0,0,0.00,0xb8
13:48:27.436 ->
13:48:28.536 -> 84385 ping
13:48:28.585 -> [HTTPS:I] Request: POST / (FID=61)
13:48:30.996 -> 86829 ping
13:48:30.996 -> HTTP rx:"5k4lpYqs
13:48:30.996 ->
13:48:31.495 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,40.51,0,0.00,0.00,607400.06,0,0.05,0,0,0.00,0xb0
13:48:31.495 ->
13:48:33.566 -> 89390 ping
13:48:33.566 -> [HTTPS:I] Request: POST / (FID=61)
13:48:36.006 -> 91847 ping
13:48:36.006 -> HTTP rx:"5k4lpYqs
13:48:36.006 ->
13:48:36.516 -> UART tx:S,26.04,0.00,0.00,-0.43,0,0,0,45.54,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xba
13:48:36.516 ->
13:48:37.545 -> [HTTPS:I] Request: POST / (FID=61)
13:48:38.975 -> 94811 ping
13:48:40.015 -> HTTP rx:"5k4lpYqs
13:48:40.015 ->
13:48:40.535 -> UART tx:S,26.04,0.00,0.00,-0.43,0,0,0,49.55,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbf
13:48:40.535 ->
13:48:41.645 -> 97489 ping
13:48:41.645 -> [HTTPS:I] Request: POST / (FID=61)
13:48:44.086 -> 99935 ping
13:48:44.136 -> HTTP rx:"5k4lpYqs
13:48:44.136 ->
13:48:44.606 -> UART tx:S,26.04,0.00,0.00,-0.43,0,0,0,53.63,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb9
13:48:44.606 ->
13:48:45.655 -> [HTTPS:I] Request: POST / (FID=61)
13:48:47.056 -> 102896 ping
13:48:48.116 -> HTTP rx:"5k4lpYqs
13:48:48.116 ->
13:48:48.606 -> UART tx:S,26.04,0.00,0.00,-0.43,0,0,0,57.65,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbf
13:48:48.606 ->
13:48:49.745 -> 105568 ping
13:48:49.745 -> [HTTPS:I] Request: POST / (FID=61)
13:48:52.186 -> 108012 ping
13:48:52.186 -> HTTP rx:"5k4lpYqs
13:48:52.186 ->
13:48:52.666 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,61.72,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb7
13:48:52.666 ->
13:48:53.735 -> [HTTPS:I] Request: POST / (FID=61)
13:48:55.135 -> 110980 ping
13:48:56.215 -> HTTP rx:"5k4lpYqs
13:48:56.215 ->
13:48:56.685 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,65.75,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbe
13:48:56.685 ->
13:48:57.845 -> 113660 ping
13:48:57.845 -> [HTTPS:I] Request: POST / (FID=61)
13:49:00.285 -> 116127 ping
13:49:00.285 -> HTTP rx:"5k4lpYqs
13:49:00.285 ->
13:49:00.770 -> UART tx:S,26.03,0.00,0.00,-0.43,0,0,0,69.84,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc2
13:49:00.815 ->
13:49:03.330 -> 119168 ping
13:49:05.420 -> 121230 ping
13:49:05.420 -> [HTTPS:I] Request: POST / (FID=61)
13:49:07.875 -> 123692 ping
13:49:07.875 -> HTTP rx:"5k4lpYqs
13:49:07.875 ->
13:49:08.345 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,77.42,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb9
13:49:08.345 ->
13:49:09.375 -> 125219 UART rx:S,26.02,0.00,0.00,-0.42,0,0,0,77.91,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbd
13:49:10.386 -> 126230 ping
13:49:10.386 -> [HTTPS:I] Request: POST / (FID=61)
13:49:12.835 -> 128686 ping
13:49:12.875 -> HTTP rx:"5k4lpYqs
13:49:12.875 ->
13:49:13.355 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,82.42,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb5
13:49:13.355 ->
13:49:14.405 -> [HTTPS:I] Request: POST / (FID=61)
13:49:15.835 -> 131651 ping
13:49:16.865 -> 132707 UART rx:T,72,0,0,0,0,0,0.00,0.00,0,998.00,998.00,1,0,0.02,1024,0,0,0,244499,1,0,0,0,0,0x92
13:49:16.865 -> HTTP rx:"5k4lpYqs
13:49:16.865 ->
13:49:17.355 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,86.44,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbb
13:49:17.355 ->
13:49:18.515 -> 134331 ping
13:49:18.515 -> [HTTPS:I] Request: POST / (FID=61)
13:49:20.955 -> 136796 ping
13:49:20.955 -> HTTP rx:"5k4lpYqs
13:49:20.955 ->
13:49:21.481 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,90.54,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb7
13:49:21.481 ->
13:49:22.605 -> [HTTPS:I] Request: POST / (FID=61)
13:49:24.005 -> 139839 ping
13:49:25.036 -> HTTP rx:"5k4lpYqs
13:49:25.036 ->
13:49:25.531 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,94.61,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xb9
13:49:25.531 ->
13:49:26.570 -> 142414 ping
13:49:26.570 -> [HTTPS:I] Request: POST / (FID=61)
13:49:29.006 -> 144856 ping
13:49:29.045 -> HTTP rx:"5k4lpYqs
13:49:29.045 ->
13:49:29.525 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,98.60,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xbc
13:49:29.525 ->
13:49:30.576 -> [HTTPS:I] Request: POST / (FID=61)
13:49:32.005 -> 147820 ping
13:49:33.020 -> HTTP rx:"5k4lpYqs
13:49:33.020 ->
13:49:33.515 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,102.62,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe0
13:49:33.515 ->
13:49:34.966 -> 150793 ping
13:49:37.395 -> 153244 ping
13:49:38.455 -> [HTTPS:I] Request: POST / (FID=61)
13:49:39.865 -> 155700 ping
13:49:40.895 -> HTTP rx:"5k4lpYqs
13:49:40.895 ->
13:49:41.395 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,110.48,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe3
13:49:41.395 ->
13:49:42.470 -> 158281 UART rx:S,26.02,0.00,0.00,-0.42,0,0,0,110.98,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe8
13:49:42.470 -> 158281 ping
13:49:42.470 -> [HTTPS:I] Request: POST / (FID=61)
13:49:44.870 -> 160716 ping
13:49:44.870 -> HTTP rx:"5k4lpYqs
13:49:44.870 ->
13:49:45.385 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,114.48,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe7
13:49:45.385 ->
13:49:46.447 -> [HTTPS:I] Request: POST / (FID=61)
13:49:47.835 -> 163682 ping
13:49:48.885 -> HTTP rx:"5k4lpYqs
13:49:48.885 ->
13:49:49.395 -> UART tx:S,26.02,0.00,0.00,-0.42,0,0,0,118.50,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe4
13:49:49.395 ->
13:49:50.525 -> 166361 ping
13:49:50.525 -> [HTTPS:I] Request: POST / (FID=61)
13:49:52.970 -> 168801 ping
13:49:52.970 -> HTTP rx:"5k4lpYqs
13:49:52.970 ->
13:49:53.475 -> UART tx:S,26.01,0.00,0.00,-0.42,0,0,0,122.57,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe5
13:49:53.475 ->
13:49:54.506 -> [HTTPS:I] Request: POST / (FID=61)
13:49:55.515 -> 171358 ping
13:49:56.570 -> HTTP rx:"5k4lpYqs
13:49:56.570 ->
13:49:57.045 -> UART tx:S,26.01,0.00,0.00,-0.42,0,0,0,126.17,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe5
13:49:57.045 ->
13:49:58.080 -> 173930 ping
13:49:58.115 -> [HTTPS:I] Request: POST / (FID=61)
13:50:00.575 -> 176403 ping
13:50:00.575 -> HTTP rx:"5k4lpYqs
13:50:00.575 ->
13:50:01.071 -> UART tx:S,26.01,0.00,0.00,-0.42,0,0,0,130.19,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe2
13:50:01.071 ->
13:50:02.195 -> [HTTPS:I] Request: POST / (FID=61)
13:50:03.631 -> 179440 ping
13:50:04.681 -> HTTP rx:"5k4lpYqs
13:50:04.681 ->
13:50:05.146 -> UART tx:S,26.01,0.00,0.00,-0.42,0,0,0,134.28,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe6
13:50:05.146 ->
13:50:06.275 -> 182117 ping
13:50:06.275 -> [HTTPS:I] Request: POST / (FID=61)
13:50:08.731 -> 184582 ping
13:50:08.765 -> HTTP rx:"5k4lpYqs
13:50:08.765 ->
13:50:09.245 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,138.37,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe9
13:50:09.245 ->
13:50:10.305 -> [HTTPS:I] Request: POST / (FID=61)
13:50:11.705 -> 187525 ping
13:50:12.725 -> HTTP rx:"5k4lpYqs
13:50:12.725 ->
13:50:13.195 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,142.35,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe2
13:50:13.231 ->
13:50:14.255 -> 190097 ping
13:50:14.255 -> [HTTPS:I] Request: POST / (FID=61)
13:50:16.325 -> 192148 ping
13:50:16.325 -> HTTP rx:"5k4lpYqs
13:50:16.325 ->
13:50:16.810 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,145.95,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xeb
13:50:16.810 ->
13:50:19.185 -> 195009 ping
13:50:19.185 -> [HTTPS:I] Request: POST / (FID=61)
13:50:20.616 -> 196432 UART rx:T,135,0,0,0,0,0,0.00,0.00,0,998.00,998.00,1,0,0.02,1024,0,0,0,244403,1,0,0,0,0,0xb3
13:50:21.630 -> 197458 ping
13:50:21.630 -> HTTP rx:"5k4lpYqs
13:50:21.630 ->
13:50:22.115 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,151.27,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe3
13:50:22.115 ->
13:50:24.595 -> 200419 ping
13:50:27.031 -> 202875 ping
13:50:27.031 -> [HTTPS:I] Request: POST / (FID=61)
13:50:29.305 -> 205149 ping
13:50:29.305 -> HTTP rx:"5k4lpYqs
13:50:29.305 ->
13:50:29.825 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,158.97,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xf1
13:50:29.825 ->
13:50:30.955 -> 206804 UART rx:S,26.00,0.00,0.00,-0.42,0,0,0,159.46,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xec
13:50:30.996 -> [HTTPS:I] Request: POST / (FID=61)
13:50:31.971 -> 207813 ping
13:50:33.505 -> HTTP rx:"5k4lpYqs
13:50:33.505 ->
13:50:33.966 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,163.14,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe2
13:50:34.005 ->
13:50:35.015 -> 210868 ping
13:50:35.055 -> [HTTPS:I] Request: POST / (FID=61)
13:50:37.475 -> 213314 ping
13:50:37.475 -> HTTP rx:"5k4lpYqs
13:50:37.475 ->
13:50:37.981 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,167.14,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe6
13:50:37.981 ->
13:50:39.021 -> [HTTPS:I] Request: POST / (FID=61)
13:50:40.265 -> 216093 ping
13:50:41.685 -> HTTP rx:"5k4lpYqs
13:50:41.685 ->
13:50:42.181 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,171.34,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe3
13:50:42.181 ->
13:50:43.220 -> 219063 ping
13:50:45.655 -> 221502 ping
13:50:46.715 -> [HTTPS:I] Request: POST / (FID=61)
13:50:48.116 -> 223956 ping
13:50:49.155 -> HTTP rx:"5k4lpYqs
13:50:49.155 ->
13:50:49.635 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,178.82,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xed
13:50:49.635 ->
13:50:50.735 -> 226549 UART rx:S,26.00,0.00,0.00,-0.42,0,0,0,179.32,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe9
13:50:50.735 -> 226549 ping
13:50:50.735 -> [HTTPS:I] Request: POST / (FID=61)
13:50:53.120 -> 228973 ping
13:50:53.155 -> HTTP rx:"5k4lpYqs
13:50:53.155 ->
13:50:53.625 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,182.82,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe8
13:50:53.625 ->
13:50:54.695 -> [HTTPS:I] Request: POST / (FID=61)
13:50:56.085 -> 231937 ping
13:50:57.115 -> HTTP rx:"5k4lpYqs
13:50:57.115 ->
13:50:57.628 -> UART tx:S,26.00,0.00,0.00,-0.42,0,0,0,186.81,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xeb
13:50:57.628 ->
13:50:58.671 -> 234520 ping
13:50:58.671 -> [HTTPS:I] Request: POST / (FID=61)
13:51:01.116 -> 236954 ping
13:51:01.116 -> HTTP rx:"5k4lpYqs
13:51:01.116 ->
13:51:01.595 -> UART tx:S,25.99,0.00,0.00,-0.42,0,0,0,190.81,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xf7
13:51:01.645 ->
13:51:02.685 -> [HTTPS:I] Request: POST / (FID=61)
13:51:04.086 -> 239919 ping
13:51:05.135 -> HTTP rx:"5k4lpYqs
13:51:05.135 ->
13:51:05.655 -> UART tx:S,25.99,0.00,0.00,-0.41,0,0,0,194.84,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xfd
13:51:05.655 ->
13:51:06.781 -> 242595 ping
13:51:06.781 -> [HTTPS:I] Request: POST / (FID=61)
13:51:09.195 -> 245042 ping
13:51:09.195 -> HTTP rx:"5k4lpYqs
13:51:09.195 ->
13:51:09.695 -> UART tx:S,25.99,0.00,0.00,-0.41,0,0,0,198.91,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xff
13:51:09.695 ->
13:51:10.731 -> [HTTPS:I] Request: POST / (FID=61)
13:51:11.755 -> 247607 ping
13:51:13.185 -> HTTP rx:"5k4lpYqs
13:51:13.185 ->
13:51:13.670 -> UART tx:S,26.00,0.00,0.00,-0.41,0,0,0,202.90,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xdf
13:51:13.715 ->
13:51:14.730 -> 250579 ping
13:51:14.730 -> [HTTPS:I] Request: POST / (FID=61)
 
Auch ohne App werden Daten von M4 im ESP32 empfangen, aber per MQTT werden diese scheinbar nicht weiter versendet. Weder mit MQTT Explorer noch mit einem zusätzlichen EP32 mit MQTT Client sehe ich irgend welche Daten auf /ardumower/Ardumower/stats bzw. state oder props. Die Daten vom Taster kommen aber ohne Probleme an /ardumower/Ardumower/commands an.
Wie kann ich sonst noch feststellen, ob der ESP32_ble Daten per MQTT absetzt?
Anbei der Log ohne verbundene App:
Code:
14:08:00.545 -> 8853 UART rx:AT
14:08:00.545 -> 8853 UART tx:OK
14:08:00.545 -> 8853 ping
14:08:01.974 -> 10286 UART rx:AT+VERSION
14:08:01.974 -> 10286 UART tx:+VERSION=ESP32 firmware V0.4.5,Bluetooth V4.0 LE
14:08:03.494 -> 11823 UART rx:AT+NAMEArdumower
14:08:03.494 -> 11823 UART tx:+NAME=Ardumower
14:08:03.494 -> 11823 ping
14:08:04.925 -> 13255 UART rx:AT+RESET
14:08:04.925 -> 13255 UART tx:+RESET
14:08:06.174 -> 14485 ping
14:08:09.025 -> 17352 ping
14:08:10.585 -> 18893 UART rx:V,Sunray,1.0.288,1,143,Adafruit Grand Central M4,AM,XX,XX,1f:fa:af:92:53:35:35:33:34:20:20:20:ff:18:12:21,0x5c
14:08:11.985 -> 20322 ping
14:08:15.185 -> 23496 ping
14:08:18.065 -> 26367 UART rx:S,25.84,0.00,0.00,0.00,0,0,0,23.75,0,0.00,0.00,607400.06,0,0.03,0,0,0.00,0x89
14:08:18.065 -> 26367 ping
14:08:20.895 -> 29233 ping
14:08:23.875 -> 32201 ping
14:08:26.775 -> 35071 UART rx:S,25.85,0.00,0.00,-0.44,0,0,0,32.47,0,0.00,0.00,607400.06,0,0.05,0,0,0.00,0xc0
14:08:26.775 -> 35071 ping
14:08:29.595 -> 37936 ping
14:08:32.500 -> 40803 ping
14:08:35.454 -> 43776 UART rx:S,25.86,0.00,0.00,-0.44,0,0,0,41.09,0,0.00,0.00,607400.06,0,0.05,0,0,0.00,0xbf
14:08:35.454 -> 43776 ping
14:08:38.305 -> 46639 ping
14:08:41.304 -> 49608 ping
14:08:44.155 -> 52480 UART rx:S,25.85,0.00,0.00,-0.44,0,0,0,49.91,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc8
14:08:44.155 -> 52480 ping
14:08:47.015 -> 55344 ping
14:08:49.874 -> 58210 ping
14:08:52.754 -> 61085 UART rx:S,25.85,0.00,0.00,-0.44,0,0,0,58.52,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc5
14:08:52.754 -> 61085 ping
14:08:53.950 -> 62271 UART rx:T,46,0,0,0,0,0,0.00,0.00,0,998.00,998.00,1,0,0.02,1024,0,0,0,244471,1,0,0,0,0,0x89
14:08:55.415 -> 63743 ping
14:08:58.300 -> 66610 ping
14:09:01.164 -> 69479 UART rx:S,25.86,0.00,0.00,-0.44,0,0,0,66.93,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xca
14:09:01.164 -> 69479 ping
14:09:04.035 -> 72344 ping
14:09:06.885 -> 75209 ping
14:09:09.655 -> 77980 UART rx:S,25.86,0.00,0.00,-0.43,0,0,0,75.54,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc6
14:09:09.655 -> 77980 ping
14:09:12.515 -> 80842 ping
14:09:15.375 -> 83709 ping
14:09:18.064 -> 86376 UART rx:S,25.86,0.00,0.00,-0.43,0,0,0,83.85,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc9
14:09:18.064 -> 86376 ping
14:09:20.455 -> 88771 ping
14:09:23.054 -> 91389 ping
14:09:25.525 -> 93851 UART rx:S,25.86,0.00,0.00,-0.43,0,0,0,91.50,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xc0
14:09:25.525 -> 93851 ping
14:09:28.035 -> 96351 ping
14:09:30.495 -> 98807 ping
14:09:32.950 -> 101271 ping
14:09:34.225 -> 102558 UART rx:S,25.85,0.00,0.00,-0.43,0,0,0,100.21,0,0.00,0.00,607400.06,0,0.06,0,0,0.00,0xe4
14:09:35.404 -> 103726 ping
14:09:37.901 -> 106237 ping
14:09:40.374 -> 108699 ping
 
Log sieht gut aus. Also MQTT läuft auf dem ESP32 und die Daten werden published. Jede Sekunde AT+S und jede Minute AT+T. Der Fehler muss entweder beim Broker oder beim Empfänger Client liegen.
 
Log sieht gut aus. Also MQTT läuft auf dem ESP32 und die Daten werden published. Jede Sekunde AT+S und jede Minute AT+T. Der Fehler muss entweder beim Broker oder beim Empfänger Client liegen.
Woran kann ich erkennen, das der esp32_ble tatsächlich die Daten per MQTT sendet. Am Log erkenne ich doch nur, dass Daten vom M4 an den ESP32 übertragen werden?
 
Zeig mal deine config.h vom ESP32
Hallo EinEinach,
prefix ist /ardumower/ und topic ist Ardumower

Die Tasten für Start Stop usw. werden unter /ardumower/Ardumower/command ja richtig vom client empfangen bzw. abgerufen.
Code:
#define NAME "Ardumower"

// bluetooth low energy (BLE)
#define USE_BLE 1    // comment this line to remove BLE support
#define BLE_MTU 20   // max. transfer bytes per BLE frame
#define BLE_MIN_INTERVAL 2    // connection parameters (tuned for high speed/high power consumption - see: https://support.ambiq.com/hc/en-us/articles/115002907792-Managing-BLE-Connection-Parameters)
#define BLE_MAX_INTERVAL 10
#define BLE_LATENCY      0
#define BLE_TIMEOUT      30 
//#define USE_NIM_BLE   1 // use NimBLE library (requires less memory) instead of ESP32 library?

//IP WiFi:
//#define WIFI_STATIC_IP true  // activate this for static IP
#define WIFI_STATIC_IP false // activate this for dynamic IP
// if using static IP, configure IPs below
#define WIFI_STATIC_IP_LOCAL  10,0,100,11
#define WIFI_STATIC_IP_GW     10,0,100,1
#define WIFI_STATIC_IP_SUBNET 255,255,255,0
#define WIFI_STATIC_IP_DNS1   8,8,8,8
#define WIFI_STATIC_IP_DNS2   8,8,4,4

#define WIFI_STA_SSID   "meine SSID"       // WiFi SSID      (leave empty ("") to not use WiFi)
#define WIFI_STA_PSK    "mein PW"          // WiFi password  (leave empty ("") to not use WiFi)
#define WIFI_TIMEOUT_FIRST_RESPONSE  800   // fast response times (500), for more reliable choose: 800     
#define WIFI_TIMEOUT_RESPONSE        400   // fast response times (100), for more reliable choose: 400

// comment this line to use HTTP, uncomment to use HTTPS
// NOTE: if using HTTPS, you also need to uncomment USE_NIM_BLE above!
//#define USE_HTTPS  1 


// Relay server
//
// Install this library with the Arduino Library Manager:
// ArduinoWebsockets - by Gil Maimon - https://github.com/gilmaimon/ArduinoWebsockets
//
//#define USE_RELAY
//#define RELAY_URL       "wss://example.relay.mow.timotto.io/mower"
//#define RELAY_USERNAME  ""
//#define RELAY_PASSWORD  ""
//#define RELAY_TIMEOUT   1000
//#define RELAY_PINGWAIT  55

// MQTT server
// (subscribed topcis: '/command/start', '/command/stop', '/command/dock')
//  published topics: '/online', '/state', '/props')

#define USE_MQTT  1     // uncomment to activate MQTT
#define MQTT_PREFIX     "/ardumower/"
#define MQTT_HOSTNAME   "192.168.178.80"  // IP or hostname (example: "192.168.2.60")
#define MQTT_PORT       1883
#define MQTT_CLIENT_ID  NAME
#define MQTT_USERNAME   ""
#define MQTT_PASSWORD   ""

#define ENCRYPTION_PASSWORD   123456
#define ENCRYPTION_ENABLED    false

// pin assignment
#define pinGpioRx   16    // UART2 / GPIO16 / IO16
#define pinGpioTx   17    // UART2 / GPIO17 / IO17

//#define pinGpioRx   9   // UART1 / GPIO9  / SD2
//#define pinGpioTx   10  // UART1 / GPIO10 / SD3

//#define pinGpioRx   3   // UART0 / GPIO3  / RXD0
//#define pinGpioTx   1   // UART0 / GPIO1  / TXD0

#define pinLED   2

#define CONSOLE Serial  // where to send/receive console messages for debugging etc.
#define UART Serial2    // where to send/receive UART data
 
Mach mal aus „/ardumower/„ das „ardumower“

Bzw. Nimm mal Präfix testweise raus „“
Ist sehr eigenartig. Egal ob mit oder ohne prefix oder prefix ohne / es kommen keine Daten vom esp32_ble am MQTT Client an.
Senden an den esp32_ble kann ich mit oder ohne prefix und genau so mit oder ohne den Schrägstrich /
Wenn ich per Taste Befehle Start Stop usw. sende kommen diese am M4 an und auch der MQTT Explorer erkennt diese korrekt.
Die Statusmeldungen vom esp32_ble kommen aber weder am MQTT Explorer noch an einem unabhängigen ESP32 MQTT Client an.
Kann das auch an einer nicht optimalen Wlan-Verbindung liegen? Die App und auch der Rest scheint mit der Wlan-Verbindung zufrieden zu sein. Werde mal sehen, ob ich noch einen anderen Client finde um die Daten zu prüfen.
 
wenn du schnell irgendwo fhem aufsetzen kannst, empfehle ich dir es damit auszuprobieren. Dort kannst du MQTT Server definieren und dieser lauscht alles ab und legt automatisch den Client an. So habe ich es gemacht
 
wenn du schnell irgendwo fhem aufsetzen kannst, empfehle ich dir es damit auszuprobieren. Dort kannst du MQTT Server definieren und dieser lauscht alles ab und legt automatisch den Client an. So habe ich es gemacht
Hallo EinEinach,
danke für den Tipp mit fhem und Deine super Unterstützung. Werde dann mal mit fhem experimentieren und schauen, ob ich so weiter komme.
Sollte ich ne Lösung finden, werde ich diese gerne an dieser Stelle mitteilen. Eventuell hilft es ja auch anderen Nutzern weiter.
Gruß Holger
 
Hallo zusammen,
nach sage und schreibe 8 Tagen Fehlersuche (ich bin leider kein Programmierer) habe ich die Ursache für die nicht Übermittlung von stats, state und props per MQTT gefunden. Ob das nur an meinen MQTT Brokern liegt (habe verschiedene getestet) oder grundsätzlich ein Problem ist, kann ich nicht sagen. Mit einer kleinen aber ausschlaggebenden Änderung in der mqtt.ino von esp32_ble konnte ich die Datenübertragung stats, state und props per MQTT zum funktionieren bewegen. Auch die Sunray-APP funktioniert jetzt wieder in normaler Ansprechgeschwindigkeit.
Meine Firmware ist die Sunray-Version 1.0.288 und esp32_ble Version V0.4.5

Als Broker läuft der TinyMQTT auf ESP32 mit 2.4Zoll TFT-Touch und integriertem Client. Per Touch kann ich per MQTT Befehle an den Mower senden, die Daten vom Mower kommen per MQTT zurück an den TinyMQTT und können entsprechend ausgewertet bzw. auf dem TFT angezeigt werden.
Diese Auswertung ist noch nicht integriert, habe ja leider ewig gesucht, um die MQTT Kommunikation ans Laufen zu bekommen. Falls Interesse besteht, kann ich nach Fertigstellung der Mini-Mowersteuerung gerne diese hier zur freien Verfügung stellen.
Nun aber zur Änderung an der mqtt.ino
Ich habe den Befehl für Subscribe /command >mqttClient.subscribe(mqtt_topic("/command").c_str());< welcher bisher in der Zeile 122 in der Funktion >void mqtt_connect()< stand aus dieser Funktion entfernt und ans Ende von >void mqtt_setup< gesetzt.
Dieser Subscribe-Befehl in der connect Funktion hat sowohl die Sunray App komplett ausgebremst als auch eine Datenübertragung von stats, state und props verhindert. Muß man als Laie erst mal drauf kommen.

Hat leider so doch nicht funktioniert, jetzt ist die Subscribe Funktion nicht mehr aktiv bzw. die Touch-Tasten werden nicht mehr an das M4 per MQTT weiter geleitet. Da hat mich mein MQTT Explorer etwas verwirrt, der empfängt natürlich die Tasten weiterhin.
Sobald ich eine Lösung gefunden habe, werde ich diese hier posten. Der Fehler ist auf jeden Fall schon mal eingegrenzt.

Anbei noch ein Foto von meinem Mini MQTT-Broker mit Touch-Client.
Vielleicht hilft meine "Forschung" ja auch anderen MQTT-Nutzern etwas weiter.

Nachtrag: Habe gerade gesehen, dass es eine neue App von Alexander gibt mit Stop Start und Dock Buttons auf der Startseite. Finde ich super, die ständige Umschalterei war manchmal schon etwas lästig.

Mein Projekt mit dem MQTT-Touch werde ich aber trotzdem weiter verfolgen, ich besitze kein Smartphone und möchte aus Überzeugung auch keines haben. Und mit dem Laptop oder Tablett ist die normale Mowerbedienung Start Stop und Dock doch etwas unhandlich. Mein MQTT-Touch-Broker-Client benötigt nur ca. 0.3 bis 0.7 Watt, da kann dieser dauernd aktiv bleiben.

Nachtrag 13.08.2022
Nach weiteren zig Stunden stochern im Dunkeln habe ich endlich eine Lösung gefunden um das MQTT-Problem mit meinem TinyBroker zu lösen.
Ursache für das Problem ist der subsrcribe-Befehl " mqttClient.subscribe(mqtt_topic("/command").c_str());"
Sobald dieser Befehl ausgeführt wird (egal an welcher Stelle im Programm) verbindet sich der Client neu mit dem Broker und gerät in eine Endlosschleife mit verbinden und trennen und blockt dadurch die publish-Befehle und bremst auch die App aus. Ob das an meinem Broker liegt, kann ich nicht sagen, mit Mosquitto habe ich aber das selbe Problem.
Ich habe keine Lösung gefunden, den Client mit der vorgesehenen MQTT-Library mit subscribe und publish ans Laufen zu bekommen, egal was ich wo einbinde.
Habe jetzt auf die TinyMQTT Library umgesellt und den mqtt.ino Sketch entsprechend angepasst. Mit dieser Library und der Anpassung in der mqtt.ino funktionieren jetzt subscribe und publish ohne Probleme und ohne Verzögerung auch mit aufgeschalteter Sunray-App.
Nach 2 Wochen Ursachenforschung und zig mal Sketch aufspielen bin ich echt froh, dass das jetzt so passt wie gedacht.
Sollte jemand den geänderten Sketch benötigen kann ich diesen gerne veröffentlichen. Ich bin aber kein Programmierer, daher ist der Sketch bestimmt nicht perfekt. Das meiste entspricht noch der Sunray esp32_ble Version, nur eben mit tinyMQTT Library und entsprechneder Anpassung.

Gruß Holger
 

Anhänge

  • ArduTouch.jpg
    ArduTouch.jpg
    518,1 KB · Aufrufe: 18
Zuletzt bearbeitet:
@tim deine Modem läuft bei mir soweit echt super. Was mir allerdings aufgefallen ist:
Wenn der Mäher bei mir einen Error auswirft, lasse ich mir ja per iobroker eine Push schicken.
Diese wird aber immer erst ausgelöst, wenn ich auf dem Handy die Ardumower App (Evothings Viever) öffne und mich verbinde.
Die Statusmeldungen werden komischerweise korrekt gesendet, sobald sie getriggert werden.
Kann das jemand so bestätigen?
Kann jemand das Verhalten bestätigen?
Wenn der Mäher zum Beispiel im Dock steht. (in dem Beispiel über eine Stunde) ändert sich der Status nicht.
Sobald ich die evo App öffne und mich verbinde, wird der mqtt status geupdatet.
Ich habe das Gefühl, dass dies erst nach einer gewissen Zeit ohne geöffnete App passiert. Im Anhang mal zwei Bilder. -oder ist meine Einstellung in der Modem Software irgendwo noch falsch?
So, bekomme ich leider keine Pushbenachrichtigung wenn robi sich nach einiger zeit festgefahren hat...
 

Anhänge

  • mqtt.jpg
    mqtt.jpg
    115 KB · Aufrufe: 18
  • mqtt2.jpg
    mqtt2.jpg
    49,4 KB · Aufrufe: 16
Moin,

ich habe (so dachte ich) eigentlich viel Erfahrung im Umgang mit dem ESP32, da ich nun auf Home Assistant umgesteigen bin, dachte ich mir cool hier gibt es eine Software für den ESP32, dann mal rauf damit.

Problem 1:
Wenn Ich die Modem-Firmware aufspiele erhalte ich immer folgenden Fehler: "HTTP_UPDATE_FAILED Error (-100): Not Enough space"
Hardware ESP32 Devkitc_v4 ist ein ESP32-WROOM-32U mit 4mb Speicher.
- Was muss ich machen damit diese läuft?

Problem 2 (der alternative Weg):
Gibt es eine "Anleitung" wie man den Sourcecode compiliert? Also die Arduino-CLI hab ich installiert und auch die notwendigen libraries und nun (System Linux)?

Wäre cool es könnte einer helfen.
Favorit wäre natürlich die Modem-Firmware :)

Danke und einen schönen start in den Sonntag!
 
Moin,

ich habe (so dachte ich) eigentlich viel Erfahrung im Umgang mit dem ESP32, da ich nun auf Home Assistant umgesteigen bin, dachte ich mir cool hier gibt es eine Software für den ESP32, dann mal rauf damit.

Problem 1:
Wenn Ich die Modem-Firmware aufspiele erhalte ich immer folgenden Fehler: "HTTP_UPDATE_FAILED Error (-100): Not Enough space"
Hardware ESP32 Devkitc_v4 ist ein ESP32-WROOM-32U mit 4mb Speicher.
- Was muss ich machen damit diese läuft?

Problem 2 (der alternative Weg):
Gibt es eine "Anleitung" wie man den Sourcecode compiliert? Also die Arduino-CLI hab ich installiert und auch die notwendigen libraries und nun (System Linux)?

Wäre cool es könnte einer helfen.
Favorit wäre natürlich die Modem-Firmware :)

Danke und einen schönen start in den Sonntag!
Hallo Barry,
Du musst in der Arduino-Umgebung bei Partiotions-Scheme auf Minimal Spiffs umstellen, damit der ESP32 genug Speicher zur Verfügung stellt. Steht auch so im Sketch drinne.
In der config-example.h
"5. Choose Partition Scheme "Minimal SPIFFS" (otherwise you may get 'memory space errors' in the Arduino IDE)"

Gruß Holger
 
Oben