From NURDspace

Jump to: navigation, search
Participants Invict
Skills Electronics, IoT
Status Production
Purpose Infra
Tool No
Tool category


"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 or 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


Runs stuff for power meter, see Flukso.



 root@jarvis:/home/homeassistant/.homeassistant# cat switches.yaml 
 - platform: command_line
      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


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

Sensor (Amps)

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


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


- 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


  • 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:
  • 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
Part of our connectivity is made available by BIT
To BIT's joboffers