Home assistant

Auteur
Onderwerp
#265

Hallo,

Complimenten voor deze site!
Kan ik de feed ook inladen in home assistant?
Groeten Tim

15 reacties aan het bekijken - 1 tot 15 (van in totaal 21)
Auteur
Reacties
  • #268

    Kan ik de feed ook inladen in home assistant?

    Hoi Tim, dat zal ongetwijfeld wel kunnen, maar wij gebruiken HomeAssistant niet.
    Wellicht kan één van de vele lezers je op weg helpen.

  • #355

    Dat ben ik ook aan het uitzoeken. Ik werd door Zonneplan naar deze site verwezen omdat hun prijs gegevens alleen in hun app beschikbaar zijn.

    Mijn ideaal is een home assistant oplossing die op basis van de stroom prijzen automatisch het meest optimale tijdstip bepaalt om mijn vaatwasser en wasmachine aan te zitten. En ‘stroomslurpers’ zoals de jacuzzi uit/lager.

    Of goedkope stroom in mijn thuis batterij of accu van de elektrische auto op te slaan (allebei nog aan te schaffen :-))

    Ik kijk hiernaar https://www.home-assistant.io/integrations/utility_meter/
    En naar het downloaden van de prijsgegevens en ze vanuit de sql database via node-red als persistent gegevens beschikbaar hebben.

    Maar ik ben nog in de uitzoek fase. Wordt vervolgd.

    Tips en advies zijn welkom.

    Misschien ook op wat ja-forums zetten.

  • #388

    Hoi,
    Momenteel lees ik de stroom feed op de volgende manier in home assistant in:

    Voeg de volgende sensor toe in de configuration.yaml:

    sensor: - platform: rest resource: https://enever.nl/feed/stroomprijs_vandaag.php name: Electricity price scan_interval: 86400 value_template: 'OK' json_attributes: - data

    Deze sensor leest vanuit zichzelf 1x per dag (geen vaste tijd) de gehele stroomprijs_vandaag-feed in.

    Daarnaast heb ik een automation die deze sensor dagelijks om 00:00:10 update:

    alias: Update electricity price feed description: Update electricity price feed trigger: - platform: time at: "00:00:10" condition: [] action: - service: homeassistant.update_entity data: {} target: entity_id: - sensor.electricity_price mode: single

    Dus in totaal wordt de feed 2x per dag ingelezen.

    Vervolgens met:

    - platform: template sensors: calculated_electricity_price: device_class: monetary unit_of_measurement: 'EUR/kWh unique_id: "electricity_price" value_template: "{% for hourly_data in states.sensor.electricity_price.attributes.data %}{% if hourly_data.datum[11:13]|string==now().hour|string %}{{ hourly_data.prijsANWB}}{% endif %}{% endfor %}" friendly_name: "Prijs electriciteit"

    wordt er een sensor gemaakt die met behulp van een value_template de huidge prijs bepaalt van de gewenste leverancier (hier: prijsANWB). De value_template loopt over alle hourly_data-blokken en als het uur van het hourly_data-blok gelijk is aan het uur van het huidige tijdstip wordt het gegeven attribuut van dat hourly_data-blok uitgegeven.

    Om er voor te zorgen dat de stroomprijs ieder uur wordt aangepast, heb ik nog een automation gemaakt die ieder uur de calculated_electricity_price update:

    alias: Update dynamische stroom tarieven description: Update dynamische stroom tarieven trigger: - platform: time_pattern minutes: "00" seconds: "00" condition: [] action: - service: homeassistant.update_entity data: {} target: entity_id: - sensor.calculated_electricity_price mode: single

    Door nu deze calculated_electricity_price sensor op te nemen in het energie-dashboard wordt de stroom prijs berekend met de uur-prijs uit de feed.

    Hiermee zou het moeten gaan lukken.

    • Deze reactie is gewijzigd 1 jaar, 10 maanden geleden door Enever.nl.
    • Deze reactie is gewijzigd 1 jaar, 10 maanden geleden door Enever.nl.
  • #523

    En voor de liefhebber hierbij ook de gasprijs – heb een vergelijkbare automation gemaakt die om 6.10 en om 7.10 de feed inlaadt

    platform: rest resource: https://enever.nl/feed/gasprijs_vandaag.php name: Gas price scan_interval: 86400 json_attributes: data value_template: "OK" platform: template sensors: calculated_gas_price: device_class: monetary unit_of_measurement: €/m³ unique_id: "gas_price" value_template: '{% for i in states.sensor.gas_price.attributes.data %}{{ i.prijsZP}}{% endfor %}' friendly_name: Gas price

    • Deze reactie is gewijzigd 1 jaar, 10 maanden geleden door Enever.nl.
  • #524

    nb. dit forum laat de identation niet goed zien – wel belangrijk bij yaml

  • #586

    Het kan nog eenvoudiger dan enevervisualnl heeft gedaan:

    Voeg het volgende toe aan de config.yaml en restart HA. Je hebt er dan een entiteit stroomprijs_zonneplan bij (in dit voorbeeld, eenvoudig kunnen zo ook de andere leveranciers opgevraagd worden)

    - platform: rest name: stroomprijs Zonneplan resource: https://enever.nl/feed/stroomprijs_vandaag.php value_template: "{{ value_json['data'][now().hour]['prijsZP'] }}" device_class: monetary unit_of_measurement: "EUR"

  • #587

    Hoewel ik een andere Ronald ben dan degene die het over indentation is dat zeker wel waar. Ook in mijn voorbeeld gaat het mis. Alles onder – platform: rest moet zo ingesprongen zijn dat het onder platform staat.

  • #605

    Hoi Ronald, vanaf kun je de knop “CODE” gebruiken, zodat alles juist ingesprongen staat.

  • #683

    Goedemorgen,

    In de template van calculated_electricity_price staat het stukje if hourly_data.datum[11:13] zou iemand mij kunnen uitleggen wat het gedeelte {11:13] doet?

    Ik heb nl iedere ochtend vanaf 0:00 uur dat tot ergens net voor de middag deze sensor niet geupdate wordt.
    Volgens mij zit het nl in dit stukje want ik als ik deze nu (07:38uur) aanpast naar [12:13] dan gebeurt er wel iets.

    Maar eigenlijk weet ik niet wat ik aan doen ben 🙂

  • #684

    - platform: rest name: stroomprijs Zonneplan resource: https://enever.nl/feed/stroomprijs_vandaag.php value_template: "{{ value_json['data'][now().hour]['prijsZP'] }}" device_class: monetary unit_of_measurement: "EUR"

    hoe vaak checkt deze sensor de feed op enever? Ik wil namelijk voorkomen dat de feed onnodig vaak ingelezen wordt. Ik kan alleen niet zo snel vinden wat de default scan interval van Home Assistant is bij een REST sensor.

    • Deze reactie is gewijzigd 1 jaar, 10 maanden geleden door Bobski.
  • #686

    Ik zie dat er bij je sensor geen scan_interval: 86400 in staat, dit gedeelte zorgt ervoor dat deze 1x per dag een keer geupdate wordt.

    Als het goed is heb je ook onderstaande automation mee gekopieerd.
    alias: Update electricity price feed description: Update electricity price feed trigger: - platform: time at: "00:00:10" condition: [] action: - service: homeassistant.update_entity data: {} target: entity_id: - sensor.electricity_price mode: single

    Deze zorgt ervoor dat de gehele feed voor die dag om 10 seconden na 00:00 ingelezen wordt.

    Samen met scan_interval: 86400 en deze automation wordt de feed 2x per dag ingelezen.

  • #694

    Ik had het over de yaml configuratie van Ronald. De configuratie van enevervisual heb ik niet werkend gekregen.

    De sensor zoals deze werkt:
    - platform: rest name: stroomprijs Zonneplan resource: https://enever.nl/feed/stroomprijs_vandaag.php value_template: "{{ value_json['data'][now().hour]['prijsZP'] }}" device_class: monetary unit_of_measurement: "EUR"

    Ik weet echter niet of deze nu te vaak enever.nl polled waardoor mijn IP uiteindelijk geblokkeerd gaat worden. Ik kan het inderdaad aanpassen naar een scan interval van 86400, maar vroeg me af of het zonder die instelling ook al goed werkt.

  • #790

    weet iemand ook hoe je de gasprijzen van feed https://enever.nl/feed/gasprijs_laatste30dagen.php
    kunt inlezen in homeassistant? tis mij even onduidelijk hoe de formatting moet van de JSON query

  • #1289

    Onderstaande code werkt wel na kleine aanpassing …

    De string in de hourly_data.datum moet een integer zijn (int)
    [11:13] betreft filtering van de ‘uren’ uit de datum/tijd

    Alleen even een automatisering aanmaken om de data op te halen, trigger elke dag om 00:01:00 entity updaten.

    – platform: rest
    resource: https://enever.nl/api/stroomprijs_vandaag.php?token=1234567890
    name: beursprijs data
    scan_interval: 86400
    value_template: ‘OK’
    json_attributes:
    – data

    – platform: template
    sensors:
    beursprijs_kwh:
    device_class: monetary
    unit_of_measurement: ‘€/kWh’
    unique_id: beursprijs_data
    value_template: >-
    {% for hourly_data in states.sensor.beursprijs_data.attributes.data %}
    {% if hourly_data.datum[11:13] | int == now().hour | int %}{{ hourly_data.prijs }}
    {% endif %}
    {% endfor %}

  • #3416

    Ik heb de boel wat herschreven.
    “Daily electricity prices” vraagt 1x per dag de prijzen op.
    “Hourly electricity price” berekent de uurprijs vanuit de eerder opgehaalde gegevens.

    Ik weet niet welk tijdstip de prijzen worden opgehaald. Het kan zijn dat de sensor update automation daarom ook handig/nodig is. (zie post van enevervisuelnl)

    rest: scan_interval: 86400 resource: https://enever.nl/api/stroomprijs_vandaag.php?token=0123456789 sensor: - name: "Daily electricity prices" value_template: "OK" json_attributes: - "data" template: - sensor: - name: "Hourly electricity price" device_class: monetary unit_of_measurement: "EUR/kWh" state: > {{ states.sensor.daily_electricity_prices.attributes.data[now().hour]['prijsZP'] }}

15 reacties aan het bekijken - 1 tot 15 (van in totaal 21)
  • Het forum ‘Algemene discussies of vragen’ is gesloten voor nieuwe onderwerpen en antwoorden.