Since my air fryer notification I’ve bought 2 more Esp32 Dev boards from The Greal Mall of China- AliExpress. A couple days later I’d read about MMwave sensors and purchased a couple of those too.

A week later and they land a day after each other. I got home today and found 2 MMwave sensors on the kitchen table.

I had half an hour before I had to pick the kids up so I tried to wire and flash it.

The first problem was the writing. I’m 40 now but always had awesome vision, so shit like this just shows me how much it’s actually deteriorated. I had to get my phone out and zoom in to work out where to plug in my wires.

I managed to plug shit in and flash the basic firmware on the board, and managed to add some basic code I’d found for my board when I searched using it’s full AliExpress name.

I left with a sensor running in HA happy it was that easy. But…

I did some digging, because all I was getting in HA was an occupancy On status, no variance or info.

I found that when I just searched for the sensor without HLK at the beginning or whatever was at the end, there was loads of info. I found a GitHub full of code for my sensor and happily added it to my esp32.

First I had an issue OTA flashing with some password issue, so I flashed it over USB and it worked, I had new sensors in HA! The problem was that they were unresponsive.

I’d positioned it at this point and figured the Dupont wires I used had probably come loose. When I unplugged and replugged it all, success

This thing is awesome. It could see me at my computer and I must have been only just visible to it, I was sat kinda beside it, must have amazing peripheral vision.

Since I’ve got it going it’s detected occupancy throughout. I was watching it pick up my wife just watching TV, unlike my aqara ZigBee one.

My worry is that it’ll take a while fine tuning it to filter out the cats. I’m hoping to use it with my espresence setup to make sofa-sleeping more chill. I don’t want lights popping on and off when I’m snoring and my wife gets up, but I do want the lights off when we’re both in bed.

I need to fine tune the espresence though, or rely on it less. It seems like it’s more like Room Assistant than I thought and I flit around the house in Bluetooth Land. I’ve managed to improve it by moving the sensors and turning my HA beacon to High from Medium and up to Low Latency.

I can set up another MMwave sensor but I’m gonna move my front room aqara to the bedroom and see if I need any.

I might try a pressure sensor for the bed next, or maybe see if I can run a Squeezebox node from it.

  • The Pantser@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    6 months ago

    Best tool I found to help with the setup of mmwave sensors is using these cards.

    But for some reason I can’t find where I got the template, I will share mine.

    ` type: vertical-stack title: Lab Motion cards:

    • type: horizontal-stack cards:
      • type: entities entities:
        • entity: switch.lab_motion_engineering_mode name: engineering mode
    • type: vertical-stack cards:
      • type: entities entities:
        • entity: number.lab_motion_timeout name: timeout
        • entity: number.lab_motion_max_move_distance_gate name: max move distance gate
        • entity: number.lab_motion_max_still_distance_gate name: max still distance gate
        • entity: select.lab_motion_light_function name: light function
        • entity: number.lab_motion_light_threshold name: light threshold
      • type: horizontal-stack cards:
        • type: entity entity: sensor.lab_motion_detection_distance name: distance
        • type: entity entity: sensor.lab_motion_moving_distance name: move
        • type: entity entity: sensor.lab_motion_still_distance name: still
    • type: horizontal-stack cards:
      • type: entity entity: sensor.lab_motion_move_energy name: move energy
      • type: entity entity: sensor.lab_motion_still_energy name: still energy
    • type: horizontal-stack cards:
      • type: entity entity: binary_sensor.lab_motion_presence name: presence state_color: true
      • type: entity entity: binary_sensor.lab_motion_moving_target name: movement state_color: true
      • type: entity entity: binary_sensor.lab_motion_still_target name: still state_color: true
    • type: conditional conditions:
      • condition: state entity: switch.lab_motion_engineering_mode state: ‘on’ card: type: vertical-stack cards:
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_light name: light
          • type: entity entity: binary_sensor.dining_room_motion_out_pin_presence_status name: out pin presence state_color: true
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g0_move_energy name: g0
          • type: entity entity: number.dining_room_motion_g0_move_threshold name: ’ ’
          • type: entity entity: sensor.dining_room_motion_g0_still_energy name: ’ ’
          • type: entity entity: number.dining_room_motion_g0_still_threshold name: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g1_move_energy name: g1 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g1_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g1_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g1_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g2_move_energy name: g2 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g2_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g2_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g2_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g3_move_energy name: g3 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g3_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g3_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g3_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g4_move_energy name: g4 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g4_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g4_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g4_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g5_move_energy name: g5 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g5_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g5_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g5_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g6_move_energy name: g6 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g6_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g6_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g6_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g7_move_energy name: g7 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g7_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g7_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g7_still_threshold name: ’ ’ icon: ’ ’
        • type: horizontal-stack cards:
          • type: entity entity: sensor.dining_room_motion_g8_move_energy name: g8 icon: ’ ’
          • type: entity entity: number.dining_room_motion_g8_move_threshold name: ’ ’ icon: ’ ’
          • type: entity entity: sensor.dining_room_motion_g8_still_energy name: ’ ’ icon: ’ ’
          • type: entity entity: number.dining_room_motion_g8_still_threshold name: ’ ’ icon: ’ ’ `

    Edit: code blocks are hard in Lemmy.