/smart-home

Smart home config (RPi, ESP, many sensors, node-red, influxdb, zigbee2mqtt)

Primary LanguagePython

Chronograf dashboard node-red light automation

Devices:

  • Raspberry Pi 3 & 4:
    • First used home-assistant, now only node-red.
      • home-assistant was slow, didn't use UI anyway; node-red is much nicer for automation and for playing around.
    • zigbee2mqtt (config)
      • Aqara door sensors, Hue motion sensors, Hue and Ikea Tradfri lights
      • First used CC2531 USB stick, now CC2530 via UART USB because of supposed better range.
    • Sensors -> MQTT -> Telegraf (collects metrics) -> InfluxDB (TSDB) -> Chronograf (web GUI, graphs)
      • InfluxDB is not reliable on 32 bit OS, fails to allocate memory and somehow crashes the RPi every couple of days (see issue), partially fixed by switching to 64 bit kernel on RPi4, see influxdb-fail.md.
  • Wemos D1 mini: FlowMeter for shower usage
  • Wemos D1 mini: 16x16 WS2812B LED-matrix with WLED and custom wled.py to show CO2 level and other numbers. In 3D-printed case with black PLA grid to separate pixels, sandwich paper as diffusor and dark acrylic glass plate as screen cover.
  • Artillery Genius 3D printer, see gist for modifications & config
  • switches/sockets:
    • Flashed with Tasmota:
      • Sonoff-Touch-Bad: wall switch for bathroom
      • Sonoff-S20-LED-Strip: ~4m of 5m 5054 120LEDs/m Cool White 12V on 10A power supply, installed in angled alu mount with white diffusor
      • Sonoff-S26-Genius: 3D printer & E27 LED bulb in Ikea Lack table enclosure
    • BlitzWolf-BW-SHP6-TV: has power measurement
  • Roborock-S50 vacuum robot
  • SmartMi-Fan-2S
  • Amazon-Echo-Dot

external access

IPv6 from IPv4

M-net is using Dual-Stack Lite (de) which means I only have a public IPv6 address and carrier-grade NAT for IPv4. Only had IPv4 on the phone with o2, but since june 2021 they also support IPv6. Still, when traveling, mobile/hotel WiFi might have IPv4 only. Check with https://ipv6-test.com.

Free solutions for accessing IPv6 from IPv4-only connections:

DNS

Using MyFRITZ DynDNS in FritzBox, rpi{3,4}.voglerr.de subdomains with cloudflare as nameserver for proxy/stats and CNAME flattening which allows CNAME for domain root as well.

VPN

Using PiVPN for WireGuard with clients on MBA and phone. Unfortunately can't access the VPN IPs if the foreign network happens to use the same subnet (all FritzBox seem to use 192.168.178.1 - could change mine to e.g. 192.168.0.1, but that's not a failsafe solution).