NEWS
ESPhome: Gerät online im Adapter, aber nicht als Datenpunkt
-
@noah3112
Gerne:
esphome: name: mmwave-occupancy esp8266: board: esp01_1m # Enable logging logger: # Enable Home Assistant API api: ota: password: "7760e54b97ffe17d3962f019cf3c2ec5" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Mmwave Fallback Hotspot" password: "JqxV1HsoRIC3" substitutions: device_name: mmwave-sensor captive_portal: web_server: port: 80 version: 2 include_internal: true http_request: useragent: esphome/$device_name timeout: 2s switch: - platform: safe_mode internal: true name: use_safe_mode binary_sensor: - platform: gpio name: mmwave_in_bedroom pin: number: GPIO16 mode: INPUT_PULLDOWN uart: id: uart_bus tx_pin: GPIO4 rx_pin: GPIO5 baud_rate: 115200 debug: direction: BOTH dummy_receiver: true after: delimiter: "\n" sequence: - lambda: UARTDebug::log_string(direction, bytes); number: - platform: template name: distance id: distance min_value: 0 max_value: 1350 initial_value: 315 optimistic: true step: 15 restore_value: true unit_of_measurement: cm set_action: - uart.write: "sensorStop" - delay: 1s - uart.write: !lambda int cm = (int)ceil(x / 15.0); std::string cms = "detRangeCfg -1 0 " + to_string(cm); return std::vector<unsigned char>(cms.begin(), cms.end()); - delay: 1s - uart.write: "saveCfg 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 1s - uart.write: "sensorStart" - platform: template name: latency id: latency min_value: 0 max_value: 65000 initial_value: 12500 optimistic: true step: 25 restore_value: true unit_of_measurement: ms set_action: - uart.write: "sensorStop" - delay: 1s - uart.write: !lambda int ms = (int)ceil(x / 25.0); std::string mss = "outputLatency -1 0 " + to_string(ms); return std::vector<unsigned char>(mss.begin(), mss.end()); - delay: 1s - uart.write: "saveCfg 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 1s - uart.write: "sensorStart" button: - platform: restart name: Restart $device_name - platform: template name: "factory_reset_sensor" id: "factory_reset_sensor" on_press: - uart.write: "sensorStop" - delay: 1s - uart.write: "factoryReset 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 3s - uart.write: "sensorStart"
-
Iobroker Log schreibt noch folgendes:
ESPHome client 192.168.1.123 TypeError: Cannot read properties of undefined (reading 'deserializeBinary')
-
@roelli Du darfst keinen „Button“ verwenden. Das wird noch nicht unterstützt. Muss einen „Switch“ verwenden. Der triggert dann kurz auf true und geht dann wieder auf false.
-
@roelli sagte in ESPhome: Gerät online im Adapter, aber nicht als Datenpunkt:
binary_sensor:
- platform: gpio
name: mmwave_in_bedroom
pin:
number: GPIO16
mode: INPUT_PULLDOWN
Hier stimmt die Formatierung nicht ganz, aber das sollte der Editor eigentlich anmeckern. Das mit dem Soft Button sollte eigentlich passen. Ist das File selbst erstellt oder Copy Paste?
- platform: gpio
-
@noah3112 sagte in ESPhome: Gerät online im Adapter, aber nicht als Datenpunkt:
Ist das File selbst erstellt oder Copy Paste?Hab ich hier geklaut: https://gist.github.com/EverythingSmartHome/4f8c9d8e94bffb44c7b7965f172b6470
Weil ich diesen Radarsensor benutzen will: https://www.youtube.com/watch?v=VEqWlOeJ2YA
Ich habe allerdings immer noch nicht verstanden was ich tun muss damit's funktioniert?
Was muss man denn ändern?
binary_sensor: - platform: gpio name: mmwave_in_bedroom pin: number: GPIO16 mode: INPUT_PULLDOWN
(ich hab mal rumgepfuscht und Sachen aus'm Netz da eingebaut, aber dann kommt bei der Prüfung schon eine Fehlermeldung)
-
@roelli entfern mal den ganzen Letzten Teil „Button“ und schau ob zumindest dann die Fehlermeldung im Log weg ist.
-
@draexler Fehlermeldung im LOG von iobroker bleibt. (hatte alles hinter dem Button gelöscht)
-
@roelli Die Leerzeichen sind bei YAML sehr wichtig bzw müssen eingehalten werden.
binary_sensor: - platform: gpio pin: number: D3 inverted: true mode: input: true pullup: true
Hier mal ein Beispiel das muss bei dir noch korrigiert werden.
-
@roelli Wie gesagt das mit dem Button sollte funktionieren. Hatte auch schon einen Soft Reset im Einsatz finde das Beispiel leider gerade nicht.
-
@noah3112
Hier meckert er noch:
-
@roelli Das ist wiederum von deinem eingesetzten Board abhängig. In dem Beispiel was ich dir geschickt habe war ein D1 mini im Einsatz...
esp8266: board: d1_mini
Bei dir ist es anscheinend ein esp1!?
Da gibt es den Pin D3 nicht bzw kann nicht genutzt werden.
-
@noah3112
Ich hab den wemos D1 mini.
Der Eingang ist definitiv D0.
(Laut Pinout vom wemos D1 mini ist D0 auch gleichzeitig Pin4, oder GPIO16) -
@roelli Was mir noch aufgefallen ist. Ich hatte das nur als Beispiel für die Formatierung, das passt also so überhaupt nicht für deine Anwendung. Hier wird ein GPIO Hardware Anschluss genutzt für einen Taster der an Pin D3 hängt. In deinem "Programm" ist es ein Software Button. Also nicht für dein Projekt übernehmen.
-
@roelli Aber dann stimmt doch hier schon etwas nicht...
esphome: name: mmwave-occupancy esp8266: board: esp01_1m
-
@noah3112
Ha! Wenn man die richtige Hardware einstellt, dann geht das Ding sogar online!
Einen Schritt weiter!Nur der interessante "true/false" Wert wird noch nicht angezeigt.
esphome: name: mmwave-occupancy esp8266: board: d1_mini # Enable logging logger: # Enable Home Assistant API api: ota: password: "7760e54b97ffe17d3962f019cf3c2ec5" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Mmwave Fallback Hotspot" password: "JqxV1HsoRIC3" substitutions: device_name: mmwave-sensor captive_portal: web_server: port: 80 version: 2 include_internal: true http_request: useragent: esphome/$device_name timeout: 2s switch: - platform: safe_mode internal: true name: use_safe_mode binary_sensor: - platform: gpio name: mmwave_in_bedroom pin: number: GPIO16 mode: INPUT_PULLDOWN uart: id: uart_bus tx_pin: GPIO4 rx_pin: GPIO5 baud_rate: 115200 debug: direction: BOTH dummy_receiver: true after: delimiter: "\n" sequence: - lambda: UARTDebug::log_string(direction, bytes); number: - platform: template name: distance id: distance min_value: 0 max_value: 1350 initial_value: 315 optimistic: true step: 15 restore_value: true unit_of_measurement: cm set_action: - uart.write: "sensorStop" - delay: 1s - uart.write: !lambda int cm = (int)ceil(x / 15.0); std::string cms = "detRangeCfg -1 0 " + to_string(cm); return std::vector<unsigned char>(cms.begin(), cms.end()); - delay: 1s - uart.write: "saveCfg 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 1s - uart.write: "sensorStart" - platform: template name: latency id: latency min_value: 0 max_value: 65000 initial_value: 12500 optimistic: true step: 25 restore_value: true unit_of_measurement: ms set_action: - uart.write: "sensorStop" - delay: 1s - uart.write: !lambda int ms = (int)ceil(x / 25.0); std::string mss = "outputLatency -1 0 " + to_string(ms); return std::vector<unsigned char>(mss.begin(), mss.end()); - delay: 1s - uart.write: "saveCfg 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 1s - uart.write: "sensorStart" button: - platform: restart name: Restart $device_name - platform: template name: "factory_reset_sensor" id: "factory_reset_sensor" on_press: - uart.write: "sensorStop" - delay: 1s - uart.write: "factoryReset 0x45670123 0xCDEF89AB 0x956128C6 0xDF54AC89" - delay: 3s - uart.write: "sensorStart"
-
Hmm... bei anderen gehts auch nicht. Liegt wohl an iobroker.
https://bytemeta.vip/repo/DrozmotiX/ioBroker.esphome/issues/136
-
@roelli Okay dann musst du wohl auf Home Assistant umsteigen
Es ist ja bekannt das noch nicht alles so funktioniert wie bei HA...leider. Für meine Anwendungen hat es bis jetzt immer ausgereicht. Den Sensor über einen anderen Weg einzubinden schon gescheckt?