Jarvis

From NURDspace

Jump to: navigation, search
Jarvis
Jarvis.jpg
Participants Invict
Skills Electronics, IoT
Status Production
Niche
Purpose Infra
Tool No
Location
Cost
Tool category

Jarvis

"File:{{{Picture}}}" cannot be used as a page name in this wiki.

{{{Picture}}} {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::{{{Cost}}} | }}

Jarvis is the VM running Home Assistant (HASS) and is able to automate tasks in the space See http://10.208.11.32/ or http://10.208.11.32:8123 when port 80 is not working. Port 80 should work because of a port forward started from /etc/rc.local.

Starting HASS

/etc/init.d/homeassistant install
/etc/init.d/homeassistant start

It should do this on boot through /etc/rc.local.

Current Automations

  • Stop music on mpd when the space is closed
  • Start music on mpd when the space opens.
  • Power down EPC/APC and Sonoff when space is closed.
  • Power up Sonoff when space is open.

Custom stuff

OpenTherm Gateway

OpenTherm gateway has been put between the heater and the thermostat, see OpenTherm_Gateway

Flukso

Runs stuff for power meter, see Flukso.

EPC (PDU)

http://wiki.gude.info/FAQ_EPC_CmdLine

 root@jarvis:/home/homeassistant/.homeassistant# cat switches.yaml 
 - platform: command_line
  switches:
    epc2_1:
      command_on: "/usr/bin/curl http://<IP>/SWOV.CGI?s1=1"
      command_off: "/usr/bin/curl http://<IP>/SWOV.CGI?s1=0"
      command_state: "/opt/epc/epccontrol2.pl --host=<IP> | grep 1"
      value_template: '{{ value == "1 is ON" }}'
      friendly_name: epc2 1

APC (PDU)

Off snmpset -v1 -c private 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1 i 2 
On snmpset -v1 -c private 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1 i 1
get snmpget -v1 -OvqU -c public 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1
output 1 == on 2 == off
get input amps (x10) snmpget -v1 -OvqU -c NURDsnmp 10.208.30.150 .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1

Sensor (Amps)

- platform: command_line
  name: pdu1_input_amps 
  command: "snmpget -v1 -OvqU -c public 10.208.30.150 .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1"
  unit_of_measurement: "A"
  value_template: '{{ value | multiply(10) }}'

Switch

    pdu1_1:
      command_on: "snmpset -v1 -c private 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1 i 1"
      command_off: "snmpset -v1 -c private 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1 i 2"
      command_state: "snmpget -v1 -OvqU -c public 10.208.30.150 .1.3.6.1.4.1.318.1.1.4.4.2.1.3.1"
      value_template: '{{ value == "1" }}'
      friendly_name: pdu1 1

SonOff

- platform: mqtt
  name: "Grote zaal rechts"
  state_topic: "space/grotezaal/rechts/1/stat"
  command_topic: "space/grotezaal/rechts/1"
  qos: 0
  payload_on: "on"
  payload_off: "off"
  retain: true

Changelog

  • Added the EPC PDU's to HASS
  • Added the space state
  • Added power usage
  • Added Axis camera
  • Added grote zaal rechts (TL)
  • Added Webcam connected to SlabPi

New jarvis

We want to be able to easily update home assistant. One way to achieve this is to use docker. On our proxmox environment it is not easy to run docker in a proxmox container, so we set up a prober VM for this.

The idea is to get the config from the old jarvis working and at some point have the new one take the IP address of the old one. For now the new one is configged with DHCP.

  • Temp IP: 10.208.42.142
  • User: nurds
  • Pass: the long one :)

Docker installation

Enabled docker repo and installed it (https://docs.docker.com/install/linux/docker-ce/ubuntu/). User nurds is in the docker group so it can do docker things without sudo.

Got home assistant running as user homeassistant \o/ Next step: copy config from the old jarvis.

To Do

Radiator automation integration.

 
Our site is hosted by Site4U
Site4U
Part of our connectivity is made available by BIT
To BIT's joboffers