What if home automation was homoiconic? Just transformations of data? No more YAML!

Overview

radiale

what if home-automation was also homoiconic?

The upper or proximal row contains three bones, to which Gegenbaur has applied the terms radiale, intermedium, and ulnare, the first being on the radial or preaxial side of the limb.

status

Working:-

  • MQTT Client
  • MDNS listener
  • ESP32
  • Deconz websocket

Todo

  • change states
  • chromecast
  • MQTT Broker

see example.clj

Comments
  • ESP disconnected

    ESP disconnected

    2022-04-01T10:00:00.011Z debsvc DEBUG [radiale.core:70] - :radiale.core/desc Do it
    2022-04-01T10:00:00.011Z debsvc DEBUG [radiale.core:70] - :radiale.schedule/params {:tz "Australia/Sydney", :day_of_week "*", :hour 21, :minute 0}
    2022-04-01T10:00:00.011Z debsvc DEBUG [radiale.core:70] - :radiale.core/then {:radiale.core/fn #object[sci.impl.fns$fun$arity_3__7895 0x5f981ef5 "sci.impl.f
    ns$fun$arity_3__7895@5f981ef5"], :radiale.esp/state true, :radiale.esp/ident :switch-a/primary}
    2022-04-01T10:00:00.012Z debsvc DEBUG [radiale.core:72] - 
    
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/site-packages/radiale/pod.py", line 123, in run_pod
        await self.invoke(msg)
      File "/usr/local/lib/python3.9/site-packages/radiale/pod.py", line 184, in invoke
        await esphome.switch_command(self.out, id, client, opts['key'], opts['state'])
      File "/usr/local/lib/python3.9/site-packages/radiale/esphome.py", line 41, in switch_command
        await client.switch_command(key, state)
      File "/usr/local/lib/python3.9/site-packages/aioesphomeapi/client.py", line 529, in switch_command
        self._check_authenticated()
      File "/usr/local/lib/python3.9/site-packages/aioesphomeapi/client.py", line 232, in _check_authenticated
        self._check_connected()
      File "/usr/local/lib/python3.9/site-packages/aioesphomeapi/client.py", line 227, in _check_connected
        raise APIConnectionError(f"Not connected to {self._log_name}!")
    aioesphomeapi.core.APIConnectionError: Not connected to X.X.X.X!
    
    opened by xlfe 1
  • Handle errors gracefully

    Handle errors gracefully

    Traceback (most recent call last):
      File "/root/bb/./pod-xlfe-radiale.py", line 6, in <module>
        asyncio.run(pod.RadialePod().run_pod())
      File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run
        return loop.run_until_complete(main)
      File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
        return future.result()
      File "/root/bb/radiale/pod.py", line 165, in run_pod
        await asyncio.create_task(            
      File "/root/bb/radiale/esphome.py", line 5, in subscribe_esp
        host, port = opts['addresses'][0]     
    IndexError: list index out of range
    
    opened by xlfe 0
  • "Non-standard token 'NaN'

    Cannot read JSON:  "{\"service-name\": \"powermon\", \"state\": [\"2942491771\", NaN]}"
    #error {
     :cause "Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow\n at [Source: (StringReader); line: 1, column: 57]"
     :via
     [{:type com.fasterxml.jackson.core.JsonParseException
       :message "Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow\n at [Source: (StringReader); line: 1, column: 57]"
       :at [com.fasterxml.jackson.core.JsonParser _constructError "JsonParser.java" 2337]}]
     :trace
     [[com.fasterxml.jackson.core.JsonParser _constructError "JsonParser.java" 2337]
      [com.fasterxml.jackson.core.base.ParserMinimalBase _reportError "ParserMinimalBase.java" 710]
      [com.fasterxml.jackson.core.json.ReaderBasedJsonParser _handleOddValue "ReaderBasedJsonParser.java" 1930]
      [com.fasterxml.jackson.core.json.ReaderBasedJsonParser nextToken "ReaderBasedJsonParser.java" 781]
      [cheshire.parse$parse_STAR_ invokeStatic "parse.clj" 66]
      [cheshire.parse$parse_STAR_ invoke "parse.clj" 63]
      [cheshire.parse$parse_STAR_ invokeStatic "parse.clj" 65]
      [cheshire.parse$parse_strict invokeStatic "parse.clj" 83]
      [cheshire.core$parse_string_strict invokeStatic "core.clj" 229]
      [cheshire.core$parse_string_strict invoke "core.clj" 215]
      [cheshire.core$parse_string_strict invokeStatic "core.clj" 225]
      [babashka.pods.impl$processor$fn__31428 invoke "impl.clj" 153]
      [babashka.pods.impl$processor invokeStatic "impl.clj" 176]
      [babashka.pods.sci$load_pod$fn__31579 invoke "sci.clj" 72]
      [sci.impl.vars$binding_conveyor_fn$fn__382 invoke "vars.cljc" 154]
      [clojure.core$binding_conveyor_fn$fn__5823 invoke "core.clj" 2047]
      [clojure.lang.AFn call "AFn.java" 18]
      [java.util.concurrent.FutureTask run "FutureTask.java" 264]
      [java.util.concurrent.ThreadPoolExecutor runWorker "ThreadPoolExecutor.java" 1128]
      [java.util.concurrent.ThreadPoolExecutor$Worker run "ThreadPoolExecutor.java" 628]
      [java.lang.Thread run "Thread.java" 829]
      [com.oracle.svm.core.thread.JavaThreads threadStartRoutine "JavaThreads.java" 597]
      [com.oracle.svm.core.posix.thread.PosixJavaThreads pthreadStartRoutine "PosixJavaThreads.java" 194]]}
    
    opened by xlfe 0
  • fails to reconnect

    fails to reconnect

    Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/radiale/pod.py", line 127, in run_pod await self.invoke(msg) File "/usr/local/lib/python3.9/site-packages/radiale/pod.py", line 241, in invoke await service.service_command(id, opts['key'], opts['params']) File "/usr/local/lib/python3.9/site-packages/radiale/esphome.py", line 129, in service_command await self.cli.execute_service(service, params) File "/usr/local/lib/python3.9/site-packages/aioesphomeapi/client.py", line 661, in execute_service self._check_authenticated() File "/usr/local/lib/python3.9/site-packages/aioesphomeapi/client.py", line 235, in _check_authenticated raise APIConnectionError(f"Not authenticated for {self._log_name}!") aioesphomeapi.core.APIConnectionError: Not authenticated for X.X.X.X!

    opened by xlfe 1
  • at-at

    at-at

    ----- Error -------------------------------------------------------------------- Type: clojure.lang.ExceptionInfo Message: Method cancel on class java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask not allowed!

    opened by xlfe 0
Owner
Felix Barbalet
building enterprise software @psithur-com with clojure
Felix Barbalet
Open source home automation that puts local control and privacy first.

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Home Assistant 57k Jan 1, 2023
Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API.

Hildebrand Glow (DCC) Integration Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API. T

Aniket 153 Dec 30, 2022
Water quality integration for Home Assistant with data provided by Budapest FVM

Water Quality FVM (Budapest, HU) custom integration for Home Assistant This custom component integrates water quality information provided by Budapest

Atticus Maximus 3 Dec 23, 2021
Resmed_myair_sensors - This is a Home Assistant custom component to pull daily CPAP data from ResMed's myAir service using an undocumented API

resmed_myair This component will set up the following platforms. Platform Description sensor Show info from the myAir API. Installation Using the tool

Preston Tamkin 17 Dec 29, 2022
Historic weather - Home Assistant custom component for accessing historic weather data

Historic Weather for Home Assistant (CC) 2022 by Andreas Frisch github@fraxinas.

Andreas Frisch 1 Jan 10, 2022
A script that publishes power usage data of iDrac enabled servers to an MQTT broker for integration into automation and power monitoring systems

iDracPowerMonitorMQTT This script publishes iDrac power draw data for iDrac 6 enabled servers to an MQTT broker. This can be used to integrate the pow

Lucas Zanchetta 10 Oct 6, 2022
Universal Xiaomi MIoT integration for Home Assistant

Xiaomi MIoT Raw 简体中文 | English MIoT 协议是小米智能家居从 2018 年起推行的智能设备通信协议规范,此后凡是可接入米家的设备均通过此协议进行通信。此插件按照 MIoT 协议规范与设备通信,实现对设备的状态读取及控制。

null 1.9k Jan 2, 2023
Volkswagen ID component for Home Assistant

Volkswagen ID component for Home Assistant This folder contains both a generic Python 3 library for the Volkswagen ID API and a component for Home Ass

null 55 Jan 7, 2023
Sensor of Temperature Feels Like for Home Assistant.

Please ⭐ this repo if you find it useful Sensor of Temperature Feels Like for Home Assistant Installation Install from HACS (recommended) Have HACS in

Andrey 60 Dec 25, 2022
Home Assistant custom integration for e-distribución

e-Distribución is an energy distribution company that covers most of South Spain area. If you live in this area, you probably are able to register into their website to get some information about your power demand, energy consumption, or even cycle billing (in terms of consumptions).

VMG 17 Sep 7, 2022
Home Assistant custom integration for Yi cameras: yi-hack-MStar, yi-hack-Allwinner and yi-hack-Allwinner-v2

yi-hack Home Assistant integration Overview yi-hack Home Assistant is a custom integration for Yi cameras (or Sonoff camera) with one of the following

roleo 131 Jan 3, 2023
Интеграция Home Assistant с ЛК "Интер РАО"

ЕЛК ЖКХ «Интер РАО» для Home Assistant Предоставление информации о текущем состоянии ваших аккаунтов в ЕЛК ЖКХ. Введение @ TODO @ Установка Посредство

Alexander Ryazanov 27 Nov 5, 2022
Provide Unifi device info via api to Home Assistant that will give ap sensors

Unifi AP Device info Provide Unifi device info via api to Home Assistant that will give ap sensors

null 12 Jan 7, 2023
Switch predictor for Home Assistant with AppDeamon

Home Assistant AppDeamon - Event predictor WORK IN PROGRESS - CURRENTLY NOT COMPLETE AND NOT WORK This is an idea under development (when I have free

null 37 Dec 17, 2022
Uses the Duke Energy Gateway to import near real time energy usage into Home Assistant

Duke Energy Gateway This is a custom integration for Home Assistant. It pulls near-real-time energy usage from Duke Energy via the Duke Energy Gateway

Michael Meli 28 Dec 23, 2022
Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi).

Candy Home Assistant component Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi). This

Olivér Falvai 61 Dec 29, 2022
emhass: Energy Management for Home Assistant

emhass EMHASS: Energy Management for Home Assistant Context This module was conceived as an energy management optimization tool for residential electr

David 70 Dec 24, 2022
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once per second with negligible load on the Envoy.

null 29 Dec 27, 2022
Electrolux Pure i9 robot vacuum integration for Home Assistant.

Home Assistant Pure i9 This repository integrates your Electrolux Pure i9 robot vacuum with the smart home platform Home Assistant. The integration co

Niklas Ekman 15 Dec 22, 2022