Acties:
  • +29Henk 'm!

  • BKJ
  • Registratie: April 2000
  • Laatst online: 16-03 12:38
Mede-auteur:
  • PuckStar
  • Registratie: Juli 2000
  • Laatst online: 18-03 11:16

PuckStar


Home Assistant - Awaken your home


Wat is Home Assistant?

Home Assistant (afgekort HASS) is een open source automation platform gebouwd met Python 3. Het kan veel verschillende soorten en merken devices in huis (en daarbuiten) tracken en besturen. De installatie is ook vrij eenvoudig en er is een zeer snel groeiende community.
Leuk detail is dat het door een Nederlander (Paulus Schoutsen) is gemaakt. Hij woont momenteel in San Diego, Amerika.

Ingebouwde UI

Het heeft een ingebouwde web UI geschikt voor mobiel, tablet en desktop. Je hoeft dus geen app te installeren! Voor iOS is er overigens wel een app en voor Android komt die binnen afzienbare tijd.
De interface ziet er ongeveer zo uit, maar kan dus volledig naar eigen voorkeur opgezet worden:

Mobiel


Desktop


Demo
https://home-assistant.io/demo/

Hoe te installeren?

Je kunt het op allerlei platformen installeren waarvan de Raspberry Pi de meest gebruikte is.

Sinds kort is er een handige default installatie waarna je ook makkelijker losse componenten kunt installeren, backups (snapshots) kan maken etc. Zie Hass.io.

Je kunt Hassio ook in een docker op een server draaien. Hier 1 van de instructievideo's.
Voor andere installaties kun je hier terecht: https://home-assistant.io/getting-started/

Als je gaat installeren op een pi is het aan te raden om de Database en log van Home Assistant weg te laten schrijven naar een usbstick. Tenzij je de Database sowieso elders gaat plaatsen (bijvoorbeeld op je NAS). Hier een handleiding betreft het gebruik van een usbstick.
Het lezen/schrijven naar de database kun je sowieso beperken als je de Recorder en Logbook wat beperkter opzet. Vaak is het helemaal niet nodig om bepaalde zaken te loggen namelijk.

Opzetten van je eigen Home Automation

Configuratie kan in Hassio grotendeels webbased maar kan ook via bestanden (YAML-formaat).

Automation

Automation gaat volgens het principe trigger -> condition -> action
Dus: Wat -> In welk geval -> Welke actie

Simpel voorbeeld:
code:
1
2
3
4
5
6
7
automation:
  alias: Turn on light when sun sets
  trigger:
    platform: sun
    event: sunset
  action:
    service: light.turn_on


Uitgebreider:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Example configuration.yaml entry
group:
  living_room:
    - light.table_lamp
    - light.ceiling
    - switch.christmas_lights

automation:
  alias: Turn on light when sun sets
  trigger:
    platform: sun
    event: sunset
    offset: "-01:00:00"
  condition:
    platform: state
    entity_id: group.all_devices
    state: home
  action:
    service: homeassistant.turn_on
    entity_id: group.living_room


Verdere integraties/mogelijkheden

Hieronder slechts een select aantal van mogelijke integraties met Home Assistant:Voor een complete lijst van zogenaamde Components (inmiddels al meer dan 1400) voor dit systeem zie:
https://home-assistant.io/components/#all
De community is sterk aan het groeien dus er komen regelmatig nieuwe componenten bij.
Kijk daarvoor ook hier: https://community.home-assistant.io/c/projects

Externe toegang en beveiliging

Als je je Home Assistant platform ook van buitenaf wilt kunnen benaderen is het aan te raden om de verbinding goed te beveiligen.
Indien je Hassio gebruikt kun je die doen met de DuckDNS Addon.

Tips

  • Sommige van onderstaande tips zijn onnodig of verlopen op een andere manier als je van de Hassio installatie gebruik maakt!
  • Om makkelijk je Home Assistant configuratie bestanden aan te passen maak je een samba share aan.
    Uitleg hierover vind je in deze video rond 6:30
  • Het is sterk aan te raden om je bestanden te bewerken met Notepad++ of Atom. In Notepad++ kun je de Code Taal dan op YAML zetten waardoor het makkelijker leesbaar is en je fouten sneller ontdekt.
  • Vaak is het zo dat het herstarten van HASS via de GUI of zelfs via de commandline erg lang kan duren. Je kunt Hassctl gebruiken om te herstarten. Als het afsluiten namelijk te lang duurt wordt het hiermee na 1 minuut hard gestopt. Dit heeft tot nu toe nog nooit voor problemen gezorgd.
  • Nadat je configuratie bestanden hebt aangepast moet je HASS herstarten, maar om zeker te zijn dat dat niet mislukt vanwege incorrecte code kun je eerst dit commando runnen (vanaf versie 0.29): $ hass --script check_config
    Je kunt ook http://www.yamllint.com/ gebruiken om je YAML-code te valideren! Dat kan een hoop zoekwerk schelen waarom iets niet werkt.
    Wel even opletten dat je er geen privégegevens (wachtwoorden e.d.) in zet, het blijft een 3rd party website.
  • Bij Templates (onder Developer Tools) http://JOUWHASSURL/dev-template kun je ook templates controleren.

Interessante/handige links

Configuraties en componenten van en door Tweakers

ThinkPad configuratie
ThinkPad: Universele IR afstandsbediening m.b.v. ESP8266
ThinkPad: Value template om een random ID te maken voor KlikAanKlikUit-switches (AC-protocol)
nicky2b: Philips Hue Motion sensor toevoegen (Lux, Temp en Motion) en een Engelse vertaling.
Home Automations van PuckStar


Heb je ook een configuratie die je met ons wilt delen?
Of misschien heb je zelf een handig Component gemaakt?
Laat het mij weten dan kunnen we de link hier opnemen!

Zigbee2Mqtt

Er is nu een specifiek Zigbee2mqtt topic!



Laten we HASS nog groter maken! :)

[Voor 93% gewijzigd door PuckStar op 09-07-2019 22:39. Reden: Paar zaken geupdatet]

Kamer huren


Acties:
  • 0Henk 'm!
  • Pinned

  • Thedr
  • Registratie: Mei 2006
  • Laatst online: 15-03 14:26
Ik zie helaas geen OpenThermGateway ondersteuning bij HomeAssistant, of zie ik dat verkeerd?
Ben momenteel fervent pimatic gebruiker, maar eens een keer over het hek bij de buren kijken kan nooit kwaad :)

[Voor 38% gewijzigd door Thedr op 13-06-2016 17:09]

Asus X5QSF || Dell XPS15 || Nokia 8.1


Acties:
  • +1Henk 'm!
  • Pinned

  • [RNMC] Viper
  • Registratie: Juli 2001
  • Laatst online: 15:40

[RNMC] Viper

📱13mini ⌚️5 💻14" M1

koelkast schreef op dinsdag 22 mei 2018 @ 11:17:
Ik heb afgelopen weekend alles van de RPI naar Ubuntu met Docker omgezet.
De volgende containers zijn bij mij actief:

- DSMR Reader
- Home Assistant
- Mosquitto
- Influxdb
- Grafana

Loopt allemaal lekker soepel, en stukken sneller dan op de PI :)
Ik gebruik Sonoffs, ZWave PIR sensoren, divers Aqara spul, IKEA Tradfri, Yeelights, Philips Hue en diverse ESP8266 sensoren. De RFXCom en alle 433 spullen laatst verkocht en ook Mysensors ga ik uitfaseren ten bate van ESP8266. Draait allemaal behoorlijk goed!

Nog wel een aantal vragen:

1. Heeft het zin om de data van Home Assistant in een MariaDB te laten gooien. Voegt dat iets toe qua snelheid of iets anders?

2. Ik zit enorm te klooien met mijn ZWave systeem. Veel apparaten worden niet gevonden, vooral de Neo Coolcam Powerplugs willen niet lekker koppelen. Ze blijven dan op 'initialising' staan. De Aeolab USB stick werkt prima. Echt vreemd, eerder werkte het perfect op de PI.

3. Ik maak gebruik van docker-compose om Home Assistant te starten. Heeft het zin om ook de andere docker containers op die manier te starten?

4. Ik zie / lees veel over Node-Red. Voegt dat iets toe als je eigenlijk gewend bent om alles via yaml files te doen? Ik ben er op zich tevreden over, maar ben benieuwd of het makkelijker/beter is en werkt.
Aantal antwoorden.
1. heb wel eens wat met mysql geprobeerd, echter geen merkbaar verschil gezien.
2. heb een aantal coolcams, was inderdaad lastig erin te krijgen (koste meer moeite) maar nu al maanden probleemloos.
3. ik heb alles in een docker compose staan, lekker makkelijk met updaten, al kwam ik laatst portainer tegen, wat ook lekker werkt.
4. geen ervaring mee, yaml werkt voor mij prima

Heb trouwens voor docker een automation gemaakt om versie update te krijgen binnen hass.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#component
- platform: command_line
  name: influxdb_container
  command: 'docker inspect influxdb:latest|jq .[].Created'
  scan_interval: 3600
- platform: command_line
  name: influxdb_repositories
  command: 'curl -L -s https://registry.hub.docker.com/v2/repositories/library/influxdb/tags|jq .results[0].last_updated'
  scan_interval: 3600
- platform: command_line
  name: grafana_container
  command: 'docker inspect grafana/grafana:latest|jq .[].Created'
  scan_interval: 3600
- platform: command_line
  name: grafana_repositories
  command: 'curl -L -s https://registry.hub.docker.com/v2/repositories/grafana/grafana/tags|jq .results[0].last_updated'
  scan_interval: 3600


#automation
- alias: Notify docker updates
  trigger:
  - platform: template
    value_template: >
      {{ states.sensor.influxdb_repositories.state > states.sensor.influxdb_container.state
      or states.sensor.grafana_repositories.state > states.sensor.grafana_container.state
      }}
  action:
  - service: notify.user
    data_template:
      message: 'update beschikbaar ({{ trigger.to_state.attributes.friendly_name }})'

He who controls the past, commands the future. He who commands the future, conquers the past.


Acties:
  • +8Henk 'm!
  • Pinned

  • Martijn02
  • Registratie: September 2000
  • Laatst online: 19-03 14:13

Martijn02

/* No Comment */

Ik ben hier ook nog wat show-and-tell verschuldigd. Het is alweer 2 maanden geleden, maar ik heb in navolging van de post van @lolgast ook een aantal sloten in mijn huis wat slimmer gemaakt.

Ik heb wat microswitches besteld bij AliExpress, en ook een aantal Neo Coolcam door-window sensoren.

De switch zit met 2 draadjes gesoldeerd op de plaats waar het reed-contact op het printje van de neo-coolcam zit/zat. Bij de deuren van mijn schuur heb ikeen gat aan de binnenkant van het kozijn gefreesd welke ik met een klepje afdek. Bij de voordeur vond ik dat niet netjes genoeg, en daar heb ik met een forstnerboor wat meer ruimte gemaakt achter de sluitkom waardoor het hele printje van de doorsensor in het houten kozijn achter de sluitkom zit. Het geheel zit daardoor onzichtbaar weggewerkt, en als de batterij leeg raakt dan hoef ik alleen 3 schroeven los te draaien om erbij te kunnen.

Gelukkig hebben we de foto's nog:

Home Assistant Lock Status
https://tweakers.net/ext/f/moRFd87j5Fqc1mPa8qutlPGb/thumb.jpghttps://tweakers.net/ext/f/RELCGO38mLY4yOePT3oUabTb/thumb.jpgDraadje er aan gesoldeerd, en "afgewerkt" met wat hittelijm
Binnenkant van het kozijn schuurHet resultaat bij de schuurdeurVoordeur met grotere ruimte achter de sluitkom
Overzicht in Home Assistant


Verder heb ik nog een truukje uitgehaald om de status van de voordeur een binary_sensor te houden, maar om ook de status van de deur (open/closed) weer te kunnen geven. Ik doe dat met een python_script wat getriggert wordt bij het openen en sluiten van de deur. Dit scriptje veranderd tijdelijk de device_class van het voordeurslot van lock naar door en weer terug.


YAML: automations.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- alias: Update voordeur icon state
  trigger:
  - platform: state
    entity_id: binary_sensor.hal_voordeur
    to: 'on'
  - platform: state
    entity_id: binary_sensor.hal_voordeur
    to: 'off'
  condition:
  - condition: template
    value_template: '{{ trigger.from_state != None and trigger.to_state != None }}'
  action:
    service: python_script.update_device_class
    data_template:
      entity_id: binary_sensor.hal_voordeur_lock
      device_class: "{% if trigger.to_state.state == 'on' %}door{% else %}lock{% endif %}"

Python: python_scripts/update_device_class.py
1
2
3
4
5
6
7
8
9
10
11
entity_id  = data.get('entity_id')
device_class = data.get('device_class')

entity = hass.states.get(entity_id)

attrs ={}
for a in entity.attributes:
    attrs[a] = entity.attributes[a]
attrs['device_class'] = device_class

hass.states.set(entity_id, entity.state, attrs)

Acties:
  • 0Henk 'm!
  • Pinned

  • HeroS
  • Registratie: Januari 2003
  • Laatst online: 10-03 11:18

HeroS

SmartHome Nerd

PuckStar schreef op woensdag 9 januari 2019 @ 14:51:
[...]

Daarom ga ik die Aqara vibration sensors op een aantal ramen plakken.
Dan vibration en fall sensors monitoren. Ruitje intikken of raam eruit wrikken zal dan opvallen dus alarm slaan.
Bij eruit wrikken zal trouwens een raam/deur sensor ook alarm slaan.
Ik ben toevallig deze sensor aan het testen en krijg hem niet werkend in HASS. Als jouw dit wel lukt kun je mij dan vertellen hoe je die gedaan hebt :)

Overigens is de het trillingsnivo niet real time het trillingsalarm wel maar deze gaat nog weleens willekeurig af.

Blog over domotica: http://www.hellosmarthome.nl


Acties:
  • +2Henk 'm!
  • Pinned

  • balk
  • Registratie: Januari 2000
  • Laatst online: 18-12-2022
PnD schreef op zaterdag 12 januari 2019 @ 22:02:
Ik ben een nieuwe poging gestart om zelf e.e.a. goed voor elkaar te krijgen qua installatie.
Weinig linux kennis, maar wat informatie bij elkaar gesprokkeld van het internet.

Ik heb nu de volgende stappen vastgesteld en volgens mij heb ik dan een goede HA installatie in docker op mijn Rpi.
Het lastige aan iets doen waar je eigenlijk weinig verstand van hebt: Geen idee of ik compleet ben?
De stappen lijken te kloppen, want mijn installatie draait. Wil iemand eens meekijken?


1. sudo raspi-config
2. Wachtwoord, timezone, GPU geheugen
3. sudo apt-get update -y && sudo apt-get upgrade -y
4. sudo rpi-update
5. curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -
6. echo "deb [arch=armhf] https://download.docker.com/linux/raspbian stretch stable" | sudo tee /etc/apt/sources.list.d/docker.list
7. sudo apt-get update
8. sudo apt-get install docker-ce
9. sudo usermod -aG docker pi && logout
10. sudo apt-get -y install python-setuptools
11. sudo easy_install pip && sudo pip install docker-compose
12. mkdir /home/pi/homeassistant
13. cd /home/pi/homeassistant
14. nano docker-compose.yml
15. version: '3'
services:
homeassistant:
container_name: home-assistant
image: homeassistant/home-assistant
volumes:
- /home/pi/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
restart: always
network_mode: host
16. docker-compose up -d
Ziet er compleet uit. Je kunt nog portainer.io installeren om het beheer van de container te vergemakkelijken. Het gaan er namelijk meer worden dan alleen HASS.

Vergeet niet af en toe een "apt-get update && apt-get upgrade" te doen om je systeem bij de tijd te houden.

Investeer ook wat tijd in het leren werken met rsync of rclone om je configuratie te bewaren, eventueel i.c.m. rsnapshot. Met die eerste twee kun je een backup veiligstellen naar een andere opslag, over ssh of naar iets als dropbox. Verstandig om te doen met het oog op SD corruptie. Met rsnapshot kun je elke x tijd een snapshot maken van je configuratie in een soort Time Machine (voor de Mac gebruikers). Ik kan 24 uur lang elk uur, 7 dagen lang elke dag en daarna 8 weken lang terug in de tijd. En dat kan je dan naar een externe backup sturen. :+

Acties:
  • 0Henk 'm!
  • Pinned

  • Nnoitra
  • Registratie: December 2000
  • Laatst online: 11:11
Mars Warrior schreef op zondag 13 januari 2019 @ 18:08:
[...]

Ik vermoed deze software, https://github.com/ThomDietrich/miflora-mqtt-daemon.
Die voldoet nl ook aan de magische mqtt discovery van home assistant _/-\o_
Volgens heeft @lolgast https://github.com/ChristianKuehnel/plantgateway gebruikt.
Want ik heb het trucje namelijk ook een beetje van hem afgekeken en gebruik deze ook O-)

Overigens gebruik ik daar een Pi Zero W voor; elk half uur haalt ie data op.
Wat mij trouwens verbaasde was het bereik!
De Mi Flora's zitten op 1 & 5,5 meter (zelfde kamer), 3,5 meter (verdieping hoger), 7 meter (buiten, achtertuin).
@Saturnus ^^

Sarcasm is my superpower! What's yours?


Acties:
  • 0Henk 'm!
  • Pinned

  • XanderHuisman
  • Registratie: November 2012
  • Laatst online: 22-03 19:50
Dw1-nl schreef op dinsdag 22 januari 2019 @ 17:29:
[...]

Ik ben ook nieuw met docker etc. Probeer wel zo snel mogelijk om docker compose te begrijpen is makkelijker en ook portainer ernaast draaien.
Tip: kijk eens naar Docker Compose, dan kun je jouw docker configuratie in een file opschrijven die je kan starten met `docker-compose up -d` en stoppen met `docker-compose down`.

Dan is het makkelijker om aanpassingen te doen, plus je kan jouw configuratie backuppen met bijvoorbeeld Git.

Ik kan zo ook mijn eigen delen, daar heb ik onder anderen ook mosquitto (MQTT broker) en InfluxDB in.

EDIT:

Maak een file aan met de volgende naam `docker-compose.yml` (als je hem een andere naam geeft moet je `-f <filename>` meegeven aan al je docker-compose commandos. Ik heb jouw config verwerkt.

Python: docker-compose.yml
1
2
3
4
5
6
7
8
9
10
version: '3'
services:
  homeassistant:
  restart: always
  image: homeassistant/raspberrypi3-homeassistant:0.85.1
  volumes:
    - /root/docker-data/homeassistant:/config
    - /etc/localtime:/etc/localtime:ro
    - /etc/letsencrypt:/config/letsencrypt:ro
  network_mode: host


Als je de image versie wilt veranderen, update de image in de docker-compose file en voer vervolgens `docker-compose up -d` in de map waar je deze file hebt opgeslagen. Aangezien de image verandert met de versie die je hebt, zal docker hem zelf downloaden (als je latest gebruikt meot je wel zelf een `docker-compose pull` doen).

[Voor 39% gewijzigd door XanderHuisman op 22-01-2019 19:22. Reden: Extra informatie]


Acties:
  • +2Henk 'm!
  • Pinned
JP12 schreef op zondag 27 januari 2019 @ 16:28:
[...]
Klinkt goed! Hoe heb je emulated_hue ingesteld? Bij mij wordt hij niet gezien door de Toon.
Ik had inderdaad ook wat extra werk nodig om mijn emulated_hue aan mijn (gerootte) Toon te koppelen. Als je een originele (non-rooted) Toon hebt, gaat dit niet lukken want voor een van de stappen heb je toegang tot het bestandssysteem op de Toon nodig.

In configuration.yaml heb ik heel specifiek gespecificeerd welke lampen ik wel en niet in de Hue wilde hebben, want ander had ik een overvloed aan sensoren, schakelaars en ander gespuis op mijn Toon. Hieronder een voorbeeldje:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
### configuration.yaml
emulated_hue:
  expose_by_default: true
  exposed_domains:
   - light
   - switch
  entities:
    switch.staande_lamp:  
      name: "Staande lamp"
      hidden: false ##Deze dus wel zichtbaar op Toon
....
    switch.window: 
      hidden: true ##Deze niet zichtbaar op Toon
Herstart nu eerst HA voor je verder kan met Toon. Controleer of je Hue bridge werkt door met je browser naar http://[HA-intern-ip]:8300/description.xml te gaan. Krijg je geen info te zien, dan draait emulated_hue nog niet goed (of op een andere poort, check je config). Als je wel data te zien krijgt, hou je dit scherm open - dit heb je zo nodig.
Nu over naar je Toon - probeer je Hue te koppelen. Eigenlijk wil Toon pas koppelen met Hue als je de knop op de bridge indrukt, maar ja - die hebben we natuurlijk niet :+ Daarop heb ik een workaround gevonden op https://www.domoticaforum...87&t=11235&start=0#p83254 - credits aan @TerrorSource (sowieso is er veel info over je gerootte Toon op dat forum te vinden):
Folder: /HCBv2/config or /mnt/data/qmf/config
File: config_hdrv_hue.xml


You can use this file to "force" Toon to find the HA-bridge/Hue-bridge.
backup your current file, make a new empty file with the same name, copy the content below and edit the IP-address(2x) and mac address(internalAddress and serialNumber).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Config packageRevision="167">
  <sysConfig>
   <locale>nl_NL</locale>
   <timezone>Europe/Amsterdam</timezone>
   <currency>EUR</currency></sysConfig>
    <hue_bridge>
     <package>hdrv_hue</package>
     <uuid>daa9c3e9-549d-4c7f-a9a9-fda64b17d0e6</uuid>
     <type>hue_bridge</type>
     <name>Philips hue (192.168.1.2)</name>
     <internalAddress>abcdefgh1234</internalAddress>
     <visibility>1</visibility>
     <profile>ConnectedState</profile><ipAddr>192.168.1.2</ipAddr><modelName>Philips hue bridge 2015</modelName><serialNumber>abcdefgh1234</serialNumber><cfgName>Philips hue</cfgName><swversion>1705121051</swversion><apiVersion>1.19.0</apiVersion><port>80</port><modelNumber>0</modelNumber><linkState>3</linkState></hue_bridge>
  </Config>
Deze instructies bleken niet helemaal volledig voor HA, dus in het bestand /HCBv2/config/config_hdrv_hue.xml op de Toon heb ik nog wat wijzigingen gedaan (daar kun je bij met winSCP & je SSH gegevens)(geen idee of alle wijzigingen nodig waren, maar het werkt):
  • Pas eerst de twee IP-adressen aan naar het IP van je Home Assistant (binnen <ipAddr> en <name>)
  • Pas ook het poortnummer in <port> aan van 80 naar 8300 (of whatever je in je config gebruikt hebt)
  • Pas de UID waarde in <uuid> aan naar de waarde die je in de description.xml in je openstaande venster kan vinden
  • Pas het serial number in <serialNumber> aan naar 1234 (dat is standaard voor HA Emulated_hue)
  • Pas <internalAddress> aan naar het MAC-adres van je Pi. Tip: als je nu al (voor deze wijzigingen) op je Toon naar de Hue zoekt, staat het MAC in je beeldscherm op het moment dat hij vraagt om de knop in te drukken. Deze mac neem je over, maar zonder de : tekens.
In mijn geval werd dat dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Config packageRevision="167">
  <sysConfig>
   <locale>nl_NL</locale>
   <timezone>Europe/Amsterdam</timezone>
   <currency>EUR</currency></sysConfig>
    <hue_bridge>
     <package>hdrv_hue</package>
     <uuid>2f402f80-da50-11e1-9b23-001788xxxxxx</uuid>
     <type>hue_bridge</type>
     <name>Philips hue (192.168.xx.x)</name>
     <internalAddress>b827ebxxxxxx</internalAddress>
     <visibility>1</visibility>
     <profile>ConnectedState</profile><ipAddr>192.168.xx.x</ipAddr><modelName>Philips hue bridge 2015</modelName><serialNumber>1234</serialNumber><cfgName>Philips hue</cfgName><swversion>1</swversion><apiVersion>1.19.0</apiVersion><port>8300</port><modelNumber>0</modelNumber><linkState>3</linkState></hue_bridge>
  </Config>
(Daar waar xxxx-jes staan, moet dus nog iets anders komen he.... 8) )

Reboot je Toon en klaar (in mijn geval)!

ZZP'er en kijken of MoneyMonk iets voor jou is? DM me voor 50% korting in het eerste jaar (en ik 'n cadeaubon)!


Acties:
  • +1Henk 'm!
  • Pinned

  • JayOne
  • Registratie: November 2017
  • Laatst online: 19:49
maartend schreef op maandag 28 januari 2019 @ 13:07:
[...]

Dut snap ik.En dat stukje lukt me wel. Action ; verwarming uit van slaapkamer
Maar hoe komt de hele routine er uit te zien. Ik ben echt zeer slecht met die if then Els systemen binnen yaml of python of hoe dat dan ook heet
Je hebt geen if-then-else nodig.

Door de conditie raam dicht in de action op te nemen toets je eerst of het raam dichtstaat, zo ja voer de verdere actions uit, zo niet dat stopt de action en wordt de verwarming niet aangezet. Je kunt raam dicht ook gewoon als conditie opnemen in je automation (trigger/condition/action).

Niet moeilijker maken dan het is.

code:
1
2
3
4
5
6
7
8
9
10
11
12
action:
# bepalen of raam dicht staat
  - condition: or/and
    conditions:
      - condition: state
        entity_id: [raamsensor]
        state: 'off'
# eventuele verdere condities
      - condition: 
# inschakelen verwarming 
  - service: ?
    entity_id: ?

What's the speed of dark?


Acties:
  • 0Henk 'm!
  • Pinned

  • maartend
  • Registratie: Augustus 2002
  • Nu online
Ik vind dit, lijkt me behoorlijk compleet en is gewoon een stappen plan;

Install ubuntu desktop, choose minimal version with LVM.

Open the terminal and type the following commands

First we need sudo / root access, type the following into terminal.

sudo -s

now enter your password

Now we have root (sudo) access to do the following

This will upgrade and update everything

apt-get upgrade

apt-get update

This will install the pre-requisites, most of these will already be installed

apt-get install -y bash jq curl avahi-daemon dbus network-manager apparmor-utils

apt-get install -y apt-transport-https ca-certificates curl software-properties-common

This next bit is to download the docker repository and finger print check

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Now install docker-ce by copy + paste this whole box of 4 lines of text and press enter

add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

Now we can install docker-ce

apt-get update

apt-get install docker-ce

Now we can finally install hass.io 30

curl -sL https://raw.githubusercon...er/install/hassio_install | bash -s

(or) if we use an Intel NUC

curl -sL https://raw.githubusercon...er/install/hassio_install | bash -s -- -m intel-nuc

Now we can install portainer to manage docker containers from web interface

docker pull portainer/portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

Now we check portainer is running

docker ps

We should see output in the terminal that lists all 3x containers
(portainer / homeassistant / hass-io-supervisor)

If we need to check what our IP address of the server is we can type

ifconfig

Now we can access the hass.io 30 and portainer web-gui

Hass io - http://xxx.xxx.xxx.xxx:8123 2
Portainer - http://xxx.xxx.xxx.xxx:9000 4

Note:

If we want to install the SSH addon for hass.io 30 and we also want to use SSH with ubuntu, then we need to change the default ssh port for ubuntu from 22 to 2222. The ports will be [ hass.io 30 ssh addon = 22 / ubuntu desktop = 2222 / hass.io-supervisor = 22222 ].

If any of the pre-requisites wont install you can try the following:
add-apt-repository universe
apt-get update

Acties:
  • +1Henk 'm!
  • Pinned
Tim Schuhmacher schreef op zondag 24 februari 2019 @ 11:22:
[...]

Kun je uitleggen hoe ik dan binnen een automation hier gebruik van kan maken als er geen entitiy is?
In je log zie je events voorbij komen op het moment dat de sensor een trilling registreert (1007) of bijvoorbeeld valt (1008).

https://i.imgur.com/0L0uTGL.png

Dit event kun je als trigger gebruiken in je automation:



Afbeelding van log heb ik even uit een eerder bericht gehaald, je ziet dan ook dat de entiteit naam anders is dan ik gebruik in de automation.

[Voor 12% gewijzigd door JBS op 24-02-2019 21:02]


Acties:
  • 0Henk 'm!
  • Pinned

  • daxy
  • Registratie: Februari 2004
  • Laatst online: 16:37
NoFate schreef op dinsdag 5 maart 2019 @ 16:31:
[...]


ah ok, het is dan toch dat als je tijdens de 2 min beweegt, dan toch de tijd van 2 min verlengt wordt
dus is het dan zo, als je beweegt, dat de PIR dit conitunu merkt dat je aan het bewegen bent? of is dit met een soort van interval pulsen van om de zoveel x aantal seconden
Ik zal de rest van mijn "motionsensor_gang.yaml" package ook maar even neerzetten :)
Ik heb een timer aangemaakt van 5 min (300 sec) welke telkens gereset (counter cancel en dan counter start in de automation) wordt bij een beweging. Zodra de counter afloopt dan gaat het licht pas uit. Dus als je 10 minuten in de gang bezig bent, blijft hij gewoon branden.

Ik heb dit dus in een package gestopt, vond ik wel zo handig:
# Countdown timer (300 sec = 5 min)
timer:
  motion_countdown_timer:
    name: Time remaining
    duration: 300

automation:
  - id: 110start_motion_countdown
    alias: Start Motion Detected Countdown Timer
    initial_state: on
    hide_entity: true
    trigger:
      - platform: mqtt
        topic: "zigbee2mqtt/Motion Sensor Gang"
    condition:
      condition: template
      value_template: "{{ true == trigger.payload_json.occupancy }}"
    action:
    - service: timer.cancel
      data:
        entity_id: timer.motion_countdown_timer
    - service: timer.start
      data:
        entity_id: timer.motion_countdown_timer

  - alias: Turn on hallway light when there is movement
    initial_state: on
    trigger:
      platform: state
      entity_id: binary_sensor.motion_gang_occupancy
      to: 'on'
    condition:
      - condition: numeric_state
        entity_id: sensor.motion_gang_illuminance
        below: 20
    action:
      entity_id: light.gang
      service: light.turn_on

  - alias: Turn off hallway when timer expires
    initial_state: on
    trigger:
    - platform: event
      event_type: timer.finished
      event_data:
        entity_id: timer.motion_countdown_timer
    action:
      entity_id: light.gang
      service: light.turn_off

Do not argue with a fool. He will drag you down to his level and beat you with experience.


Acties:
  • +1Henk 'm!
  • Pinned

  • Sjef_
  • Registratie: September 2012
  • Laatst online: 11:20
Crazyanz schreef op zaterdag 23 maart 2019 @ 17:01:
Ik gebruik een C2531 en zigbee2MQTT op hass.io en ik heb vandaag een nieuwe temp sensor binnen gekregen. Koppelen was zo gedaan maar ik krijg de friendly name maar niet aangepast...

in /share/zigbee2mqtt/configuration.yaml friendlyname aangepast maar heeft 0 effect. mis ik iets?

devices:
'0x00158d0002f9110d':
friendly_name: 'doorsensor'
retain: false
'0x00158d000303c475':
friendly_name: 'FRIENDLYNAMEDIENIETWERKT'
retain: false
homeassistant: true
Dit kan je doen door een mqtt message te sturen naar
topic: zigbee2mqtt/bridge/config/rename
payload: {"old": "OLD_FRIENDLY_NAME", "new": "NEW_FRIENDLY_NAME"}

https://www.zigbee2mqtt.i...nd_message_structure.html

Acties:
  • +2Henk 'm!
  • Pinned

  • Vaevictis_
  • Registratie: Maart 2000
  • Laatst online: 20:45
DaLass schreef op vrijdag 24 mei 2019 @ 23:22:
Ik wil mijn SolarEdge omvormer graag gaan opnemen in HomeAssistant. Hiervoor is een SolarEdge component die gebruik maakt van de SolarEdge monitoring portal d.m.v. een API, maar ik wil meer info. Die info kan ik via Modbus over TCP uit de SolarEdge trekken, hiervoor is er een perl script geschreven (sunspec-monitor) die netjes de waarden teruggeeft:

Script: https://github.com/tjko/sunspec-monitor
Voorbeeld verbose output (veel nul-waarden, want hij doet niet zoveel als het donker is):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
INVERTER:
             Model: SolarEdge  SE3000
  Firmware version: 3.1818
     Serial Number: XXXXXXX

            Status: SLEEPING

 Power Output (AC):            0 W
  Power Input (DC):            0 W
        Efficiency:         0.00 %
  Total Production:     3549.537 kWh
      Voltage (AC):       233.00 V (49.98 Hz)
      Current (AC):         0.00 A
      Voltage (DC):         1.00 V
      Current (DC):         0.00 A
       Temperature:         0.00 C (heatsink)

Voorbeeld JSON output (veel nul-waarden, want hij doet niet zoveel als het donker is):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
        "timestamp": "2019-05-24 23:16:35",
        "status": "SLEEPING",
        "ac_power": 0,
        "dc_power": 0,
        "total_production": 3549537,
        "ac_voltage": 233.00,
        "ac_current": 0.00,
        "dc_voltage": 1.00,
        "dc_current": 0.00,
        "temperature": 0.00,
        "exported_energy": 0,
        "imported_energy": 0,
        "exported_energy_m2": 0,
        "imported_energy_m2": 0
}

Dit werkt allemaal prima op de shell, maar ik loop er alleen op stuk hoe ik de data van dat perl script in HA krijg... Google laat mij in de steek. Is er iemand die mij een zetje in de juiste richting kan geven?
@DaLass Waarom zo moeilijk doen? Je kunt 2 routes bewandelen:

1. Via PVOutput en dan de PVOutput sensor uitlezen,
2. Native integratie: Solaredge Sensor

Ik gebruik nu optie 2 omdat via PVoutput NaN waarden meekrijg waarbij InfluxDB weer over zijn nek van gaat.

Daarnaast nog een template om de juiste opmaak te tonen in kWh en MWh.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 - platform: template
    sensors:
      solaredge_energy_today_template:
        friendly_name: 'SolarEdge Current Day Energy Production'
        value_template: '{{ (states.sensor.solaredge_energy_today.state | float / 1000) | round(2) }}'
        unit_of_measurement: 'kWh'
      solaredge_energy_this_month_template:
        friendly_name: 'SolarEdge Current Month Energy Production'
        value_template: '{{(states.sensor.solaredge_energy_this_month.state | float / 1000) | round(2)}}'
        unit_of_measurement: 'kWh'
      solaredge_energy_this_year_template:
        friendly_name: 'SolarEdge Current Year Energy Production'
        value_template: '{{(states.sensor.solaredge_energy_this_year.state | float / 1000000) | round(2)}}'
        unit_of_measurement: 'MWh'
      solaredge_lifetime_energy_template:
        friendly_name: 'SolarEdge Life Energy Production'
        value_template: '{{(states.sensor.solaredge_lifetime_energy.state | float / 1000000) | round(2)}}'
        unit_of_measurement: 'MWh'

Acties:
  • +1Henk 'm!
  • Pinned

  • DvD77
  • Registratie: September 2010
  • Laatst online: 10:19
dicespark schreef op dinsdag 11 juni 2019 @ 16:01:
[...]


Zou je (of iemand anders) een (deel) van je docker-compose kunnen delen? Ik ben het aan het verkennen om van Hass.io op Rpi over te stappen naar docker op Synology. Ik wil dus graag zaken als Zigbee2Mqtt en DSMR-reader ook mee overzetten.
Dit is de mijne, ik maak gebruik van traefik proxy.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
version: '3.6'
services:
  unifi:
    container_name: unifi
    restart: unless-stopped
    image: linuxserver/unifi-controller
    volumes:
      - /home/daniel/docker/unifi:/config
    environment:
      - PGID=0
      - PUID=0
      - ES_JAVA_OPTS='-Xms2g -Xmx2g'
    ports:
      - "8080:8080"
      - "8081:8081"
      - "8443:8443"
      - "8843:8843"
      - "8880:8880"
      - "3478:3478/udp"

    labels:
      - traefik.backend=unifi
      - traefik.enable=true
      - traefik.tags=frontend
      - traefik.frontend.passHostHeader=true
      - traefik.port=8443
      - traefik.protocol=https
      - traefik.frontend.rule=Host:url.domain.com
      - com.centurylinklabs.watchtower.enable=true
    networks:
      - traefik


  deconz:
    image: marthoc/deconz
    container_name: deconz
    restart: unless-stopped
    volumes:
      - /home/daniel/docker/deconz:/root/.local/share/dresden-elektronik/deCONZ
    devices:
      - /dev/ttyUSB1:/dev/ttyUSB0
    ports:
      - "9080:9080"
      - "9443:9443"

    environment:
      - DECONZ_WEB_PORT=9080
      - DECONZ_WS_PORT=9443
      - DEBUG_INFO=1
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0
      - PGID=1000
      - PUID=1000
  mosquitto:
    image: eclipse-mosquitto
    hostname: mosquitto
    restart: unless-stopped
    container_name: mosquitto
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - /home/daniel/docker/mosquitto/config:/mosquitto/config
      - /home/daniel/docker/mosquitto/data:/mosquitto/data
      - /home/daniel/docker/mosquitto/log:/mosquitto/log
    environment:
      - MOSQUITTO_USERNAME=$MOSQUITTO_USERNAME
      - MOSQUITTO_PASSWORD=$MOSQUITTO_PASSWORD
      - PGID=1000
      - PUID=1000


  hadockermon:
    container_name: ha-dockermon
    restart: unless-stopped
    image: philhawthorne/ha-dockermon
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/daniel/docker/ha-dockermon:/config
    ports:
      - "8126:8126"

  influxdb:
    container_name: influxdb
    restart: unless-stopped
    image: influxdb:latest
    volumes:
      - /home/daniel/docker/influxdb:/var/lib/influxdb
    ports:
      - "8086:8086"
      - "8083:8083"

  grafana:
    container_name: grafana
    restart: unless-stopped
    image: grafana/grafana
    depends_on:
      - "influxdb"
    volumes:
      - /home/daniel/docker/grafana:/var/lib/grafana
    ports:
      - "3000:3000"
    labels:
      - traefik.backend=graf
      - traefik.frontend.rule=Host:url.domain.com
      - traefik.frontend.entrypoint=https
      - traefik.docker.network=traefik
      - traefik.enable=true
      - traefik.port=3000
    networks:
      - traefik
    environment:
      - GF_SECURITY_ADMIN_PASSWORD='admin'
      - PGID=1000
      - PUID=1000
      - GF_SERVER_ROOT_URL=url.domain.com


  portainer:
    image: portainer/portainer
    container_name: portainer
    restart: unless-stopped
    command: -H unix:///var/run/docker.sock
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/daniel/docker/portainer/data:/data
      - /home/daniel/docker/shared:/shared
    environment:
      - TZ=${TZ}

  nodered:
    container_name: nodered
    restart: unless-stopped
    image: nodered/node-red-docker:v8
    user: root
    volumes:
      - /home/daniel/docker/nodered:/data
      - /etc/localtime:/etc/localtime:ro
      - /root/.ssh:/root/.ssh:ro
    ports:
      - "1880:1880"

  mysql:
    container_name: mysql
    restart: unless-stopped
    image: linuxserver/mysql
    user: root
    volumes:
      - /home/daniel/docker/mysql:/config
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=0
      - PGID=1000
      - PUID=1000


  duckdns:
    image: linuxserver/duckdns
    container_name: duckdns
    restart: unless-stopped
    privileged: true
    environment:
      - SUBDOMAINS=duckdns.domain.name
      - TOKEN='xxxxxxxxxxx'

  homeassistant:
    container_name: home-assistant
    restart: unless-stopped
    image: homeassistant/home-assistant:0.94.1
    depends_on:
      - "deconz"
      - "influxdb"
      - "mysql"
      - "mosquitto"
      - "unifi"
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    volumes:
      - /home/daniel/docker/home-assistant:/config
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
    privileged: true

  traefik:
    container_name: traefik
    image: traefik
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    networks:
      - traefik
    volumes:
      - /home/daniel/docker/traefik/traefik.toml:/traefik.toml:ro
      - /home/daniel/docker/traefik/acme.json:/acme.json
      - /home/daniel/docker/traefik/rules:/rules:ro
      - /home/daniel/docker/traefik/.htpasswd:/.htpasswd:ro
      - /var/run/docker.sock:/var/run/docker.sock
    labels:
      - traefik.frontend.rule=Host:url.domain.com
      - traefik.port=8087
      - traefik.enable=true
    environment:
      - PGID=1000
      - PUID=1000
  watchtower:
    container_name: watchtower
    image: svengo/watchtower:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    restart: unless-stopped
    command: --interval 3600 --cleanup --debug --label-enable
    environment:
      - WATCHTOWER_NOTIFICATIONS=email
      - WATCHTOWER_NOTIFICATIONS_LEVEL=info
      - WATCHTOWER_NOTIFICATION_EMAIL_FROM=$UPCMAILUSER
      - WATCHTOWER_NOTIFICATION_EMAIL_TO=$MAILTO
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.ziggo.nl
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=$UPCMAILUSER
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=$UPCMAILPW
    labels:
      com.centurylinklabs.watchtower.enable: "true"

  netdata:
     container_name: netdata
     image: netdata/netdata
     hostname: url.domain.com
     restart: always
     ports:
       - 19999:19999
     cap_add:
       - SYS_PTRACE
     security_opt:
       - apparmor:unconfined
     volumes:
       - /proc:/host/proc:ro
       - /sys:/host/sys:ro
       - /var/run/docker.sock:/var/run/docker.sock:ro
     environment:
       - PGID=999

  esphome:
    image: esphome/esphome
    volumes:
      - /home/daniel/docker/esphome:/config
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
    # devices:
    #   - /dev/ttyUSB2:/dev/ttyUSB0
    restart: always
networks:
  traefik:
    external: true

[Voor 8% gewijzigd door DvD77 op 11-06-2019 16:51]

Pagina: 1

Dit topic is gesloten.

Let op:
Tip: Gebruik http://www.yamllint.com/ om je YAML-code te valideren! Kan een hoop zoekwerk schelen waarom iets niet werkt.
Wel even opletten dat je er geen privégegevens (wachtwoorden e.d.) in zet, het blijft een 3rd party website

Lees ook eerst even de topicstart voor je je vraag plaatst, wellicht wordt je vraag daar al beantwoord.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee