Вообщем, много раз описанная история про удаление устройства командой mqtt-delete-retained у меня похоже обрела новый оттенок. Сразу оговорюсь, не раз все делал, все получалось, а сейчас нет. Уже убился просто, куда рыть?
При попытке удалить 2 “мертвых души” соответствующими командами
mqtt-delete-retained ‘/devices/wb-mio-gpio_102/controls/#’ и
mqtt-delete-retained ‘/devices/devices/wb-mr3_16/controls/#’ соответственно,
выдает ошибку:
Traceback (most recent call last):
File "/usr/bin/mqtt-delete-retained", line 121, in <module>
client.publish(retain_hack_topic, '1')
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 778, in publish
rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False)
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1592, in _send_publish
return self._packet_queue(PUBLISH, packet, mid, qos)
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1760, in _packet_queue
return self.loop_write()
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 986, in loop_write
rc = self._packet_write()
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1380, in _packet_write
write_length = self._sock.send(packet.packet[packet.pos:])
socket.error: [Errno 32] Broken pipe
и аналогично
/$ mqtt-delete-retained ‘/devices/wb-mio-gpio_102/controls/#’
Traceback (most recent call last):
File "/usr/bin/mqtt-delete-retained", line 121, in <module>
client.publish(retain_hack_topic, '1')
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 778, in publish
rc = self._send_publish(local_mid, topic, local_payload, qos, retain, False)
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1592, in _send_publish
return self._packet_queue(PUBLISH, packet, mid, qos)
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1760, in _packet_queue
return self.loop_write()
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 986, in loop_write
rc = self._packet_write()
File "/usr/lib/python2.7/dist-packages/mosquitto.py", line 1380, in _packet_write
write_length = self._sock.send(packet.packet[packet.pos:])
socket.error: [Errno 32] Broken pipe
ПРИЧЕМ! я могу ошибаться, но мне кажется, что эта история началась после того, как я настроил Zigbee2mqtt, который кстати прекрасно работает с xiaomi aqara, все просто супер, только вот “мертвые” устройства теперь удалить нельзя.
Может быть такое?