Quantcast
Channel: Configuration - Home Assistant Community
Viewing all 105515 articles
Browse latest View live

Generic Thermostat target temperature changes constantl

$
0
0

Hi All!

As I’m in need for a custom heating system in my house I switched over from Homebridge to Home Assistant Core because of it’s wider possibilities.

I was able to make 3 different thermostats using generic_thermostat. Those receive their current temperature from my BLE hygrothermographs.
Every thermostat is linked to a dummy switch which are put in an automation to trigger my main thermostat to heat or not (this will later be replaced by a relais that controls my heater).

Now the problem is the following:

When I first configured the thermostats in the configuration.yaml I used target_temperature: 17.
When I started using it I noticed that the target temperature was bouncing back and forth between the set temp and the target temp.

Schermafbeelding 2020-10-23 om 21.14.32

Logically, I removed the target_temp out of configuration.yaml as I saw that it’s not really needed bij HA since some version…
However the issue remains.

The strange thing is that it only shows in the graph and that it doesn’t constantly trigger the dummy switch.

Does anyone have an idea why this happens and how I’d be able to solve this?

configuration.yaml

#Thermostaat per ruimte
climate:
  - platform: generic_thermostat
    name: Kinderkamer
    heater: input_boolean.vraag_kinderkamer
    target_sensor: sensor.kinderkamer_temperature
    min_temp: 15
    max_temp: 23
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "heat"
    precision: 0.1

1 post - 1 participant

Read full topic


Iframe panel help

$
0
0

I am still very knew with HA, and really liking it so far. But I’m new to it and still learning how to do things. Right now I just have HA installed with Phillip bulbs so far. Hoping to moving my zwave network over maybe this weekend too

But I’m struggling some with the iframe panel and what the url’s should be see things. I’ve added the addons for Grafana and InfluxDB to HA, and I can access those webui’s for each one.

But in my config file, I just don’t really know what url (and port) I should be using for them. I also added in an option to see my router, but even that does not connect.

panel_iframe:
  router:
    title: 'Router'
    icon: mdi:router-wireless
    url: 'http://192.168.XX.XX'
  influxdb:
    title: InfluxDB
    icon: mdi:chart-areaspline
    url: 'need full or local path?'
  grafana:
    title: Grafana
    icon: mdi:chart-timeline
    url: 'http://what.ip.to.use:whatport'

1 post - 1 participant

Read full topic

Control MCZ Maestro pellet stove via HACore trough MQTT

$
0
0

Hi All,

Because of some limitations with Homekit I recently switched from Homebridge to Home Assistant Core.

As I’m trying to transfer all my smart devices to HACore I’m a bit stuck with my stove which sends and receives MQTT signals.

The MQTT data that I’m receiving is the following:

Bericht 8 ontvangen op PUBmcz om 21:55:
{
    "RPM - Vis sans fin - LIVE": 0,
    "RPM - Ventilateur fummées": 0,
    "Heure du poêle (0-23)": 21,
    "Etat du ventilateur d'ambiance": "Niveau 5",
    "Minutes du poêle (0-29)": 58,
    "TEMP - Carte mère": 30,
    "Heures de fonctionnement en puissance 1 (s)": "1:17:39:31",
    "TEMP - Consigne": 22,
    "Jour du poêle (1-31)": 23,
    "Heures de fonctionnement total (s)": "11:5:49:37",
    "Etat du mode Active": 1,
    "Mode Chronotermostato": 0,
    "Minutes avant extinction": 0,
    "ACTIVE - Live": 100,
    "Etat effets sonores": 1,
    "Température des fumées": 25,
    "Température ambiante": 15,
    "Heures de fonctionnement en puissance 5 (s)": "4:2:26:14",
    "Heures de fonctionnement en puissance 2 (s)": "1:3:18:44",
    "Puissance Active": "Puissance 3",
    "Mode": "Hiver",
    "Heures de fonctionnement en puissance 3 (s)": "1:23:48:16",
    "Etat du poêle": "Eteint",
    "Heures de fonctionnement en puissance 4 (s)": "0:20:26:50",
    "Mode ECO": 0,
    "RPM - Vis sans fin - SET": 0,
    "Etat de la bougie": 0,
    "Heures avant entretien": 1730,
    "ACTIVE - Set": 192,
    "Année du poêle": 2020,
    "Nombre d'allumages": 53,
    "Mode de régulation": "Manuelle",
    "Mois du poêle (1-12)": 10
}

Most of the stove’s codes are linked with numbers (full list below):

#coding: utf-8

'''
Tables des correspondances

        Le rang 0 correspond à la position de l'information dans la trame MAESTRO
        Le rang 1 correspond a l'intitulé publié sur le broker
        Le rang 2 (optionnel) permet de remplacer le code de la trame par une information texte correspondante

'''
RecuperoInfo=[
        [1,"Etat du poêle",[
                                                [0, "Eteint"],
                                                [1, "Controle du poele froid / chaud"],
                                                [2, "Clean Froid"],
                                                [3, "Load Froid"],
                                                [4, "Start 1 Froid"],
                                                [5, "Start 2 Froid"],
                                                [6, "Clean Chaud"],
                                                [7, "Load Chaud"],
                                                [8, "Start 1 chaud"],
                                                [9, "Start 2 chaud"],
                                                [10, "Stabilisation"],
                                                [11, "Puissance 1"],
                                                [12, "Puissance 2"],
                                                [13, "Puissance 3"],
                                                [14, "Puissance 4"],
                                                [15, "Puissance 5"],
                                                [30, "Mode diagnostique"],
                                                [31, "Marche"],
                                                [40, "Extinction"],
                                                [41, "Refroidissement en cours"],
                                                [42, "Nettoyage basse p."],
                                                [43, "Nettoyage haute p."],
                                                [44, "Débloquage vis sans fin"],
                                                [45, "AUTO ECO"],
                                                [46, "Standby"],
                                                [48, "Diagnostique"],
                                                [49, "CHARG. VIS SANS FIN"],
                                                [50, "Erreur A01 - Allumage raté"],
                                                [51, "Erreur A02 - Pas de flamme"],
                                                [52, "Erreur A03 - Surchauffe du réservoir"],
                                                [53, "Erreur A04 - Température des fumées trop haute"],
                                                [54, "Erreur A05 - Obstruction conduit - Vent"],
                                                [55, "Erreur A06 - Mauvais tirage"],
                                                [56, "Erreur A09 - Défaillance sonde de fumées"],
                                                [57, "Erreur A11 - Défaillance motoréducteur"],
                                                [58, "Erreur A13 - Température carte mère trop haute"],
                                                [59, "Erreur A14 - Défaut Active"],
                                                [60, "Erreur A18 - Température d'eau trop haute"],
                                                [61, "Erreur A19 - Défaut sonde température eau"],
                                                [62, "Erreur A20 - Défaut sonde auxiliaire"],
                                                [63, "Erreur A21 - Alarme pressostat"],
                                                [64, "Erreur A22 - Défaut sonde ambiante"],
                                                [65, "Erreur A23 - Défaut fermeture brasero"],
                                                [66, "Erreur A12 - Panne controleur motoréducteur"],
                                                [67, "Erreur A17 - Bourrage vis sans fin"],
                                                [69, "Attente Alarmes securité"],
                                                ]],
        [2,"Etat du ventilateur d'ambiance",[
                                                                                [0, "Désactivé"],
                                                                                [1, "Niveau 1"],
                                                                                [2, "Niveau 2"],
                                                                                [3, "Niveau 3"],
                                                                                [4, "Niveau 4"],
                                                                                [5, "Niveau 5"],
                                                                                [6, "Automatique"],
                                                                                ]],
        [5,"Température des fumées"],
        [6,"Température ambiante"],
        [10,"Etat de la bougie"],
        [11,"ACTIVE - Set"],
        [12,"RPM - Ventilateur fummées"],
        [13,"RPM - Vis sans fin - SET"],
        [14,"RPM - Vis sans fin - LIVE"],
        [20,"Etat du mode Active"],  #0: Désactivé, 1: Activé
        [21,"ACTIVE - Live"],
        [22,"Mode de régulation",[
                                                                [0, "Manuelle"],
                                                                [1, "Dynamique"],
                                                                ]],
        [23,"Mode ECO"],
        [25,"Mode Chronotermostato"],
        [26,"TEMP - Consigne"],
        [28,"TEMP - Carte mère"],
        [29,"Puissance Active",[
                                                     [11, "Puissance 1"],
                                                        [12, "Puissance 2"],
                                                        [13, "Puissance 3"],
                                                        [14, "Puissance 4"],
                                                        [15, "Puissance 5"],
                                                        ]],
        [32,"Heure du poêle (0-23)"],
        [33,"Minutes du poêle (0-29)"],
        [34,"Jour du poêle (1-31)"],
        [35,"Mois du poêle (1-12)"],
        [36,"Année du poêle"],
        [37,"Heures de fonctionnement total (s)"],
        [38,"Heures de fonctionnement en puissance 1 (s)"],
        [39,"Heures de fonctionnement en puissance 2 (s)"],
        [40,"Heures de fonctionnement en puissance 3 (s)"],
        [41,"Heures de fonctionnement en puissance 4 (s)"],
        [42,"Heures de fonctionnement en puissance 5 (s)"],
        [43,"Heures avant entretien"],
        [44,"Minutes avant extinction"],
        [45,"Nombre d'allumages"],
        [49,"Etat effets sonores"],
        [51,"Mode",[
                                [0, "Hiver"],
                                [1, "Eté"],
                                ]],
        ]

I used to be able to control this stove via the Homebridge-MQTT plugin via this configuration (it wasn’t perfect but it worked):

        {
            "accessory": "mqttthing",
            "type": "thermostat",
            "name": "MCZ VIVO 90",
            "logmqtt": true,
            "url": "mqtt://192.168.1.211:1883",
            "topics": {
                "getCurrentTemperature": {
                    "topic": "PUBmcz",
                    "apply": "return JSON.parse(message)['Température ambiante'].toFixed(1);"
                },
                "setTargetHeatingCoolingState": {
                    "topic": "SUBmcz",
                    "apply": "return message == 'HEAT' ? '34,1' : '34,40';"
                },
                "setTargetTemperature": {
                    "topic": "SUBmcz",
                    "apply": "return \"42,\"+message;"
                }
            }
        },

Now is the question:

How do I translate this into something working in HACore?

What I want to do:
2 states: On/Off
Temperature control

I don’t really need to do anything more as the stove itself regulates pellets and ventilation by it’s own built-in thermostat.

Thanks in advance!

1 post - 1 participant

Read full topic

Sound activated and illuminated icon when motion detected inside mailbox from wyze motion sensor?

$
0
0

I am looking to have a button on my home assistant dashboard which displays a mail icon next to the rest of my buttons. When my mailbox opens I want the mail icon to illuminate as well as an AOL “You’ve got mail” audio file to play on either a spare speaker connected to my raspberry pi, my google home speakers, or just directly through the amazon fire 7 that is wall mounted running fully kiosk. Clicking the button, dismisses the illuminated icon returning it to its “ghosted” state awaiting for the next mail delivery. I have found several threads across different websites but nothing with definitive instructions. I am still learning, so I have been heavily dependent on YouTube tutorials that I can follow along with. Is this something that out of my league, or more simple then I think it is? I appreciate in advance any help that you can provide.

1 post - 1 participant

Read full topic

Trying to get lights to turn off when i play and torn or when pausing Nvidia shield through harmony Hub

$
0
0

I am brand new to Home assistant and i am trying to see if this will work. I am trying to create a trigger so when my Nvidia shield pauses a movie or show the lights turn on. And when i play a movie the lights turn off. I am running Home assistant on unraid 0.116.4 . i was able to create a trigger when i activate an activity (Movie) and then that will trigger the switch. But i would really prefer the lights go on and off while pushing play and pause

. Any help would be appreciated

1 post - 1 participant

Read full topic

Configure toggle switch for switch (not only light)

SNMP, printer information, up-time

$
0
0

I have configured sensor based on ‘snmp’ platform showing up-time of printer.
However the time is displayed in ‘TimeTick’ unit.
How to convert it to ‘normal’ date/time?

Configuration:

# Samsung printer/fax/scanner CLX-6210FX

  - platform: snmp
    name: 'On time'
    host: 192.168.1.65
    community: public
    baseoid: .1.3.6.1.2.1.1.3.0
    unit_of_measurement: 'H'

Dispaly result:

3

Source data:

2

1 post - 1 participant

Read full topic

Time Triggers not firing

$
0
0

Assistance please with figuring out why some time triggers work and some do not.
Below is an example trigger I made yesterday, that did not fire today.

- id: '1603417395684'
  alias: Buggery_01
  description: ''
  trigger:
  - platform: time
    at: 05:51:00
  condition:
  - condition: state
    entity_id: binary_sensor.workday_sensor
    state: 'On'
  action:
  - scene: scene.wakeup_01
  mode: parallel
  max: 10

In the example docs, it lists a quote. The built in automation editor does not input a quote.
HA Trigger Docs

Other online examples from the forums show a single tick ’ ; This does not reliably help either.

Curiously enough I have other automations that work just fine. I have one that turns on a particular light 15 minutes prior to sundown that works, and if the sun is up for longer days, I have another automation that kicks the light on at ‘18:45:00’ …single tick, and it triggers just fine.

Can somebody explain to me why the editor doesn’t put in any quotes or ticks, manually putting in a tick works on some but not others, and why manually editing in quotes or ticks doesn’t seem to make any difference? The same triggers happen or don’t happen. I just made the examples shown above, 1 minute off the originals, just to see if manually creating a similar one would trigger ok.

Automations are on. States are on. system has been rebooted and rebuilt, check configs say the configs are fine, I am just really at a loss.

Begging for any assistance. I’ve searched, tried everything I could find, and rebuilt the server several times.

2 posts - 2 participants

Read full topic


Fun with cutom:button-card

$
0
0

I’ve recently discovered the power of custom:button-card (https://github.com/custom-cards/button-card) and want to share some nice layouts I created. Be sure to read the documentation for the button-card at that link if you try to use any of these examples. I make extensive use of its templating feature.

There are a few things going on in that image:

  1. standard and wide button variations
  2. a container that only needs one color setting to theme the header and body
  3. multi-option button
  4. sensors that have color animation when active

Standard & Wide Buttons

The standard and wide button variations are fairly straightforward. I have these defined as templates:

button_card_templates:
  standard:
    color_type: card
    size: 80%
    hold_action:
      action: more-info
    styles:
      card:
        - padding: 0.2em
        - '--mdc-ripple-color': yellow
        - '--mdc-ripple-press-opacity': 0.5
      icon:
        - opacity: 0.5
      name:
        - font-size: 0.65em
        - white-space: normal
      state:
        - font-size: 0.65em
        - white-space: normal
      label:
        - font-size: 0.4em
        - white-space: normal
  wide:
    template: standard
    styles:
      grid:
        - position: relative
        - grid-template-areas: '"i n"'
        - grid-template-columns: 1fr 1fr
        - grid-template-rows: 1fr

I use the standard template to set my common style. The wide template builds on the standard template and just makes the icon and name side by side instead of over/under.

To use them in my dashboard I just supply the desired template and any other relevant properties that aren’t defined by the template or that I want to override:

        - entity: switch.patio_light
          template: standard
          name: Patio
          icon: 'mdi:outdoor-lamp'
          type: 'custom:button-card'

Container with Header

This layout was inspired by a control that I used to use for the same effect, banner-card (https://github.com/nervetattoo/banner-card). I like the look of that, but I wanted more flexibility of the content. Fortunately it was quite easy to make a container with a button card using the custom_fields config.

button_card_templates:
  container:
    color_type: label-card
    color: dimgray
    styles:
      card:
        - padding: 0
      name:
        - border-radius: 0.4em 0.4em 0 0
        - padding: 0.1em
        - width: 100%
        - font-weight: bold
      grid:
        - grid-template-areas: '"i" "n" "buttons"'
        - grid-template-columns: 1fr
        - grid-template-rows: 1fr min-content min-content
      custom_fields:
        buttons:
          - background-color: 'rgba(0,0,0,0.3)'
          - margin: 0
          - padding: 0.3em

This is a label card that contains a horizontal or vertical stack, which then contains whatever I want, such as buttons to control things. In the template above I defined a custom grid for the layout and set the styles. In the grid-template-areas I have a grid area called buttons that matches the buttons custom field in custom_fields. The custom_fields is defined twice: once in the template styles, and once in my dashboard where I am defining the container. Below is the dashboard yaml for one of my containers in the example image.

type: 'custom:button-card'
template: container
color: '#EDE7B0'
name: Eating & Patio
custom_fields:
  buttons:
    card:
      type: horizontal-stack
      cards:
        - entity: switch.ge_14291_in_wall_smart_switch_switch_2
          name: Kitchen
          template: standard
          icon: 'mdi:wall-sconce-flat'
          type: 'custom:button-card'
        - entity: light.ge_14294_in_wall_smart_dimmer_level_10
          name: Table
          template: standard
          icon: 'mdi:ceiling-light'
          type: 'custom:button-card'
        - entity: light.ge_14294_in_wall_smart_dimmer_level_7
          name: Dining
          template: standard
          icon: 'mdi:ceiling-light'
          type: 'custom:button-card'
        - entity: switch.patio_light
          template: standard
          name: Patio
          icon: 'mdi:outdoor-lamp'
          type: 'custom:button-card'


Multi-option Button

The multi-option button is a bit more involved. It is essentially a button showing its own icon/name and 4 more buttons. In principal it works the same as the container, but it is styled differently and assumes I always want 4 options so that most of it is standard templates and reduces what I have to put in my dashboard. This also has custom javascript templates to detect value ranges when a particular option should be “on”, and it uses service calls to set the desired option value.

This uses several templates, so I will describe each one separately.

Option Button

This defines the basic look of an option button. It builds on the standard button, hides the icon, sets 1/1 aspect ratio to make it square, and sets a nice border radius.

button_card_templates:
  option-button:
    template: standard
    show_icon: false
    aspect_ratio: 1/1
    styles:
      card:
        - border-radius: 20%

Dimmer Option, Blind Option, Fan Option

This builds on the option-button and defines the tap_action and state monitoring. You will notice that is is using the variables feature of the button-card to get some necessary values. Those are provided by the presets template that I will describe in a moment.

I am only showing the dimmer option here because they are all the same definition, but with different service type and service_data for the tap_action, and different attributes to examine in the javascript.

button_card_templates:
  dimmer-option:
    template: option-button
    tap_action:
      action: call-service
      service: light.turn_on
      service_data:
        entity_id: entity
        brightness: '[[[ return variables.set_value ]]]'
    state:
      - operator: default
        styles:
          card:
            - background-color: '[[[ return variables.option_button_off_color ]]]'
            - color: '[[[ return variables.option_text_off_color ]]]'
      - operator: template
        value: >-
          [[[ return (entity.attributes.brightness||0) >= variables.range_start
          && (entity.attributes.brightness||0) <= variables.range_stop ]]]
        styles:
          card:
            - background-color: '[[[ return variables.option_button_on_color ]]]'
            - color: '[[[ return variables.option_text_on_color ]]]'

Presets Template

This is a big template. It defines the whole layout and all of the variables, with default values.

Special note on overflow: visible: this is to allow the option button’s shadow to appear correctly.

button_card_templates:
  presets:
    template: standard
    color_type: icon
    tap_action:
      action: none
    styles:
      card:
        - background-color: 'rgba(0,0,0,0.3)'
      icon:
        - color: white
      grid:
        - grid-template-areas: '"i opt1 opt2 opt3 opt4" "n opt1 opt2 opt3 opt4"'
        - grid-template-columns: 1fr 1fr 1fr 1fr 1fr
      custom_fields:
        opt1:
          - margin: 0.1em
          - overflow: visible
        opt2:
          - margin: 0.1em
          - overflow: visible
        opt3:
          - margin: 0.1em
          - overflow: visible
        opt4:
          - margin: 0.1em
          - overflow: visible
    variables:
      option_template: dimmer-option
      option_button_on_color: var(--paper-item-icon-active-color)
      option_text_on_color: white
      option_button_off_color: var(--paper-card-background-color)
      option_text_off_color: white
      option1_name: Low
      option1_set_value: 51
      option1_range_start: 1
      option1_range_stop: 77
      option2_name: Med
      option2_set_value: 102
      option2_range_start: 78
      option2_range_stop: 170
      option3_name: High
      option3_set_value: 255
      option3_range_start: 171
      option3_range_stop: 255
      option4_name: 'Off'
      option4_set_value: 0
      option4_range_start: 0
      option4_range_stop: 0
    custom_fields:
      opt1:
        card:
          type: 'custom:button-card'
          entity: '[[[ return variables.entity ]]]'
          template: '[[[ return variables.option_template ]]]'
          name: '[[[ return variables.option1_name ]]]'
          variables:
            set_value: '[[[ return variables.option1_set_value ]]]'
            range_start: '[[[ return variables.option1_range_start ]]]'
            range_stop: '[[[ return variables.option1_range_stop ]]]'
            option_button_on_color: '[[[ return variables.option_button_on_color ]]]'
            option_button_off_color: '[[[ return variables.option_button_off_color ]]]'
            option_text_on_color: '[[[ return variables.option_text_on_color ]]]'
            option_text_off_color: '[[[ return variables.option_text_off_color ]]]'
      opt2:
        card:
          type: 'custom:button-card'
          entity: '[[[ return variables.entity ]]]'
          template: '[[[ return variables.option_template ]]]'
          name: '[[[ return variables.option2_name ]]]'
          variables:
            set_value: '[[[ return variables.option2_set_value ]]]'
            range_start: '[[[ return variables.option2_range_start ]]]'
            range_stop: '[[[ return variables.option2_range_stop ]]]'
            option_button_on_color: '[[[ return variables.option_button_on_color ]]]'
            option_button_off_color: '[[[ return variables.option_button_off_color ]]]'
            option_text_on_color: '[[[ return variables.option_text_on_color ]]]'
            option_text_off_color: '[[[ return variables.option_text_off_color ]]]'
      opt3:
        card:
          type: 'custom:button-card'
          entity: '[[[ return variables.entity ]]]'
          template: '[[[ return variables.option_template ]]]'
          name: '[[[ return variables.option3_name ]]]'
          variables:
            set_value: '[[[ return variables.option3_set_value ]]]'
            range_start: '[[[ return variables.option3_range_start ]]]'
            range_stop: '[[[ return variables.option3_range_stop ]]]'
            option_button_on_color: '[[[ return variables.option_button_on_color ]]]'
            option_button_off_color: '[[[ return variables.option_button_off_color ]]]'
            option_text_on_color: '[[[ return variables.option_text_on_color ]]]'
            option_text_off_color: '[[[ return variables.option_text_off_color ]]]'
      opt4:
        card:
          type: 'custom:button-card'
          entity: '[[[ return variables.entity ]]]'
          template: '[[[ return variables.option_template ]]]'
          name: '[[[ return variables.option4_name ]]]'
          variables:
            set_value: '[[[ return variables.option4_set_value ]]]'
            range_start: '[[[ return variables.option4_range_start ]]]'
            range_stop: '[[[ return variables.option4_range_stop ]]]'
            option_button_on_color: '[[[ return variables.option_button_on_color ]]]'
            option_button_off_color: '[[[ return variables.option_button_off_color ]]]'
            option_text_on_color: '[[[ return variables.option_text_on_color ]]]'
            option_text_off_color: '[[[ return variables.option_text_off_color ]]]'

Using the multi-option button in the dashboard

For this, you can omit any variables that have defaults that match waht you want. In this example I have set a lot of them, but not all.

            - entity: cover.master_bath_blinds
              type: 'custom:button-card'
              template: presets
              name: Blinds
              state:
                - value: closed
                  color: var(--paper-card-background-color)
                - value: open
                  color: var(--paper-item-icon-active-color)
              variables:
                entity: cover.master_bath_blinds
                option_template: blind-option
                option1_name: ANG
                option1_set_value: 12
                option1_range_start: 2
                option1_range_stop: 35
                option2_name: OPN
                option2_set_value: 50
                option2_range_start: 36
                option2_range_stop: 99
                option3_name: CLN
                option3_set_value: 100
                option3_range_start: 100
                option3_range_stop: 100
                option4_name: CLS
                option4_set_value: 0
                option4_range_start: 9999
                option4_range_stop: 9999

Alerting Sensors

I can explain this in more detail later, but I need to wrap up for now.
The template, with animation:

button_card_templates:
  alerter:
    template: standard
    show_last_changed: true
    color_type: icon
    extra_styles: |
      [[[ return `
        @keyframes pulse1 {
          20% {
            background-color: ${variables.color_initial};
          }
        }
        @keyframes pulse2 {
          20% {
            background-color: ${variables.color_extended};
          }
        }
        @keyframes color {
          0% {
            color: unset;
            opacity: 0.5
          }
          99% {
            color: unset;
            opacity: 0.5
          }
          100% {
            color: ${variables.color_extended};
          }
        }
      `]]]
    variables:
      color_initial: var(--paper-item-icon-active-color)
      color_extended: 'rgba(240,52,52, 0.9)'
      color_seconds: 60
    state:
      - value: 'on'
        id: value_on
        styles:
          card:
            - animation: >-
                [[[ return `pulse1 1s ${variables.color_seconds}, pulse2 1s
                ${variables.color_seconds}s infinite` ]]]
          icon:
            - color: '[[[ return variables.color_extended ]]]'
            - opacity: 1
            - animation: '[[[ return `color ${variables.color_seconds}s 1` ]]]'
          name:
            - font-weight: bold

Here is how to use it in the dashboard:

        - entity: binary_sensor.garage_door
          template: alerter
          name: Garage
          type: 'custom:button-card'
          variables:
            color_seconds: 120

Conclusion

I have dumped a lot of config here and fully expect there will be questions. I hope you find this useful :slight_smile:

1 post - 1 participant

Read full topic

Can't resize Home Assistant .vmdk

$
0
0

I plan to run Home Assistant as a virtual machine and created the VM in VirtualBox using the official .ova file on home-assistant.io/hassio/installation. Prior to starting the VM I wanted to expand the size from the default 6GB to 30GB via Virtual Media Manager but get the following error message

I’m running VirtualBox 5.2. Do I have to upgrade to the latest release of VirtualBox?

1 post - 1 participant

Read full topic

Url is not reachable newly created domain after enabling publicIP with duckdns

$
0
0

Hello All ,

Before I ask , I would like to mention I did really gone though the community posts for the solution.

What I have done:

I followed the guide to setup duckdns and configuration on HA. His video has been recommended on HA startup page.

Issue I am facing:

After following the guide, I am unable to access HA from https://XXXXX.duckdns.org

Steps I have followed and configurations:

As mentioned I have followed the mentioned guide and set up as-is.

duckdns - addon configuration -


lets_encrypt:
  accept_terms: true
  certfile: fullchain.pem
  keyfile: privkey.pem
token: XXXXXX
domains:
  - XXXX.duckdns.org
aliases: []
seconds: 300

configuration.yaml


#uncomment this if you are using SSL/TLS, running in Docker container, etc. 
http:
  base_url: xxx.duckdns.org
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  ip_ban_enabled: True
  login_attempts_threshold: 3

port forwarding from my router. This is centurylink.
chrome_KKaQqXdMhF

as this isn’t showing completely, here is the setup page before clicking submit. And I have tried alerting the ports as well.

expectation is when I hit the URL https://xxx.duckdns.org I should get the HA’s login page. I have been getting as
Also, I am unable to use local IP as well

This site can’t be reached

I have even followed this excellent community reply of someone who faced similar issue, but no luck.

Some of other checks I did:

my modem isn’t cg-nat enabled - I have confirmed by finding the IP coming from here and on my modem login page the IP it is showing. This shows that the WAN IP-address is OK and thee ISP isn’t using CGN. – please confirm if my understanding is wrong.

by removing the config from configurations.yaml(luckily I have ssh setup already done) the site is back online and available to under locally. Which confirmed me clearly some issue with port forwarding or duckdns config/setup.

one thing I wanna mention, is I am new to HA and just setup HA on pi4. But I am using non stable version. If that need to be considered.

~ $ ha os info
board: rpi4-64
boot: A
version: "5.3"
version_latest: "4.15"
~ $

Thank you for reading this, if you can help me here would be really great.

1 post - 1 participant

Read full topic

How to handle switching to new phone for the iOS integration?

$
0
0

I just upgraded to a new iPhone and can’t get my phone properly recognized as an entity connected to the iOS integration.

Assume my old phone was called John-iPhone.

After setting up and migrating my data to my new iPhone, I renamed my old phone to John-iPhone-old, then reset the HA app before wiping it.

I was able to sign into HA app on my new phone without issue but in the iOS integration I see my old phone only (I see John-iPhone-old as the entity).

If I search entities, I see my new phone which is John-iPhone.

I then reset my app to try to setup again. Signed in and it’s still not showing in the iOS integration. But now there are two John-iPhone entities for some reason.

What’s the right way to fix this?

1 post - 1 participant

Read full topic

Pool control with a picture entities card and aqualinkd

$
0
0

I’ve been using the excellent aqualinkd project to bridge my Jandy Aqualink pool control system to Home Assistant via MQTT and I would like to share the dashboard UI that I created for controlling everything about the pool. There is A LOT happening in this UI, so I will break this down into a few sections.

This post will focus on the Lovelace UI. If you are interested in my custom entity configs for aqualinkd, the author of aqualinkd has kindly let me provide my entity configs in his repository as examples. You can find them here.

Note: some of the elements are made from the button-card, and I have some related templates defined that are explained here.

Here is an example of what is displayed most of the time while the pump is running and nothing else is going on. There are several hidden items that appear under certain conditions. I will explain each one separately in the following sections.

image

more screenshots

image
image
image
image
image
image
image
image
image


The Picture Elements Card

This is the main card for the whole thing. All of the other examples are within this card. The main config for this card is all about showing the appropriate background image based on the state of the pool devices. I have a template sensor I defined that gives me a discrete state for each combination of things that I want to show. I’m using state_filter for the off condition to make the background black & white to make it obvious the system is off.

yaml
type: picture-elements
entity: sensor.aqualink_run_mode
image: /local/pictures/pool.jpg
state_filter:
  'off': blur(2px) grayscale(100%)
state_image:
  service: /local/pictures/pool-equipment.jpg
  spa: /local/pictures/spa.jpg
  spa-blowing: /local/pictures/spa.jpg
  spa-heated: /local/pictures/spa.jpg
  spa-heating: /local/pictures/spa.jpg
  timeout: /local/pictures/pool-equipment.jpg
elements:
  #...elements from other sections go here...

Freeze Protection

image
image
image

There are 3 elements to freeze protection:

  1. a switch to enable/disable
  2. a sensor indicating if it’s active
  3. a climate entity for the setpoint

There are 4 elements to this status display, 3 of them conditional. I’m currently using element types that are native to the picture elements card, but now that I have discovered the button-card I think I can dramatically simplify this when I have a chance.

yaml
  - entity: switch.freeze_protection
    prefix: 'freeze protect '
    style:
      background-color: 'rgba(0,0,0,0.4)'
      color: white
      height: 34px
      left: 0
      top: '-3px'
      padding-left: 30px
      transform: none
      width: 100%
    tap_action:
      action: toggle
    type: state-label

  - type: conditional
    conditions:
      - entity: binary_sensor.freeze_protecting
        state: 'off'
    elements:
      - entity: switch.freeze_protection
        icon: 'mdi:snowflake'
        style:
          color: white
          left: 0
          top: '-5px'
          transform: none
          z-index: 1
        tap_action:
          action: toggle
        type: state-icon

  - type: conditional
    conditions:
      - entity: switch.freeze_protection
        state: 'on'
    elements:
      - attribute: temperature
        entity: climate.freeze_protect
        prefix: '@ '
        style:
          color: white
          left: 150px
          top: '-3px'
          transform: none
        suffix: °
        type: state-label

  - type: conditional
    conditions:
      - entity: binary_sensor.freeze_protecting
        state: 'on'
    elements:
      - icon: 'mdi:shield-alert'
        style:
          color: yellow
          left: 8px
          top: 3px
          transform: none
        type: icon

Pool Heater

image
image
image
This is very similar to the freeze protection, but with some extra conditions that the pool pump must be on and the system must be in pool mode. The spa heater displays in the same place when the system is in spa mode, so I have included the yaml for both.

yaml
  - conditions:
      - entity: switch.filter_pump
        state: 'on'
    elements:
      - conditions:
          - entity: switch.spa_mode
            state: 'off'
        elements:
          - conditions:
              - entity: binary_sensor.pool_heating
                state: 'off'
            elements:
              - entity: switch.pool_heater
                icon: 'mdi:fire'
                style:
                  color: white
                  right: 150px
                  top: 2px
                  transform: none
                tap_action:
                  action: toggle
                  confirmation:
                    text: Are you sure? Heating the pool is expensive!
                type: icon
            type: conditional
          - conditions:
              - entity: binary_sensor.pool_heating
                state: 'on'
            elements:
              - entity: switch.pool_heater
                icon: 'mdi:fire'
                style:
                  color: red
                  right: 150px
                  top: 2px
                  transform: none
                tap_action:
                  action: toggle
                type: icon
            type: conditional
          - entity: switch.pool_heater
            prefix: 'pool heater '
            style:
              color: white
              right: 42px
              top: '-5px'
              transform: none
            tap_action:
              action: toggle
              confirmation:
                text: Are you sure? Heating the pool is expensive!
            type: state-label
          - attribute: temperature
            entity: climate.pool_heater
            prefix: '~ '
            style:
              color: white
              right: 0
              top: '-5px'
              transform: none
            suffix: °
            type: state-label
        type: conditional
      - conditions:
          - entity: switch.spa_mode
            state: 'on'
        elements:
          - conditions:
              - entity: binary_sensor.spa_heating
                state: 'off'
            elements:
              - entity: switch.spa_heater
                icon: 'mdi:fire'
                style:
                  color: white
                  right: 150px
                  top: 3px
                  transform: none
                tap_action:
                  action: toggle
                type: icon
            type: conditional
          - conditions:
              - entity: binary_sensor.spa_heating
                state: 'on'
            elements:
              - entity: switch.spa_heater
                icon: 'mdi:fire'
                style:
                  color: red
                  right: 150px
                  top: 3px
                  transform: none
                tap_action:
                  action: toggle
                type: icon
            type: conditional
          - entity: switch.spa_heater
            prefix: 'spa heater '
            style:
              color: white
              right: 43px
              top: '-3px'
              transform: none
            tap_action:
              action: toggle
            type: state-label
          - attribute: temperature
            entity: climate.spa_heater
            prefix: '~ '
            style:
              color: white
              right: 0
              top: '-3px'
              transform: none
            suffix: °
            type: state-label
        type: conditional
    type: conditional

Large Temperature Displays

image
These are just basic displays of the outside temperature, and if running, the pool or spa temperature. I used some of the button-card’s powerful styling and layout features to make it use most of the circle area.

yaml
  - type: 'custom:button-card'
    entity: sensor.air_temp
    name: Outside
    show_state: true
    show_icon: false
    state_display: '[[[ return Math.trunc(entity.state).toString()+"°" ]]]'
    style:
      transform: none
      top: 35px
      right: 5px
      z-index: 1
    styles:
      grid:
        - grid-template-areas: '"s"'
        - grid-template-columns: 1fr
        - grid-template-rows: 1fr
      card:
        - border-radius: 50%
        - padding: 0.1em 0.75em
        - background-color: 'rgba(0,0,0,0.4)'
      state:
        - font-size: 3.5em
      name:
        - font-size: 0.75em
        - position: absolute
        - transform: 'translate(-50%,0)'
        - bottom: 0
        - left: 50%
        - opacity: 0.5
  - conditions:
      - entity: switch.filter_pump
        state: 'on'
    elements:
      - conditions:
          - entity: switch.spa_mode
            state: 'off'
        elements:
          - type: 'custom:button-card'
            entity: sensor.pool_temp
            name: Pool
            show_state: true
            show_icon: false
            size: 2em
            state_display: '[[[ return Math.trunc(entity.state).toString()+"°" ]]]'
            style:
              transform: none
              top: 115px
              right: 5px
              z-index: 1
            styles:
              grid:
                - grid-template-areas: '"s"'
                - grid-template-columns: 1fr
                - grid-template-rows: 1fr
              card:
                - border-radius: 50%
                - padding: 0.1em 0.75em
                - background-color: 'rgba(0,0,0,0.4)'
              state:
                - font-size: 3.5em
              name:
                - font-size: 0.75em
                - position: absolute
                - transform: 'translate(-50%,0)'
                - bottom: 0
                - left: 50%
                - opacity: 0.5
        type: conditional
      - conditions:
          - entity: switch.spa_mode
            state: 'on'
        elements:
          - type: 'custom:button-card'
            entity: sensor.spa_temp
            name: Spa
            show_state: true
            show_icon: false
            size: 2em
            state_display: '[[[ return Math.trunc(entity.state).toString()+"°" ]]]'
            style:
              transform: none
              top: 115px
              right: 5px
              z-index: 1
            styles:
              grid:
                - grid-template-areas: '"s"'
                - grid-template-columns: 1fr
                - grid-template-rows: 1fr
              card:
                - border-radius: 50%
                - padding: 0.1em 0.75em
                - background-color: 'rgba(0,0,0,0.4)'
              state:
                - font-size: 3.5em
              name:
                - font-size: 0.75em
                - position: absolute
                - transform: 'translate(-50%,0)'
                - bottom: 0
                - left: 50%
                - opacity: 0.5
        type: conditional
    type: conditional

Main Pool Controls

image
For this section I used the paper-buttons-row element. I found this to be very flexible for setting up a grid of buttons and it has a nice clean look to it.

yaml
  - base_config:
      state_styles:
        'on':
          button:
            background-color: lightgreen
          icon:
            color: var(--paper-item-icon-active-color)
          text:
            color: black
      style:
        button:
          border-radius: 10px
          justify-content: center
          margin: 1px
          padding: 0 5px 0 5px
          white-space: nowrap
          width: 100%
    buttons:
      - - entity: sensor.aqualink_pump_mode
          icon: 'mdi:pool'
          name: Pool
          state_icons:
            delay: 'mdi:timer-sand'
          state_styles:
            delay:
              button:
                background-color: yellow
              icon:
                color: black
              text:
                color: black
            pool:
              button:
                background-color: lightgreen
              icon:
                color: var(--paper-item-icon-active-color)
              text:
                color: black
          tap_action:
            action: call-service
            service: python_script.set_pool_mode
            service_data:
              mode: pool
        - entity: switch.pool_heater
          name: Pool Heat
        - entity: switch.cleaner
        - entity: switch.pool_light
          name: Pool Light
      - - entity: sensor.aqualink_pump_mode
          icon: 'mdi:hot-tub'
          name: Spa
          state_icons:
            delay: 'mdi:timer-sand'
          state_styles:
            delay:
              button:
                background-color: yellow
              icon:
                color: black
              text:
                color: black
            spa:
              button:
                background-color: lightgreen
              icon:
                color: var(--paper-item-icon-active-color)
              text:
                color: black
          tap_action:
            action: call-service
            service: python_script.set_pool_mode
            service_data:
              mode: spa
        - entity: switch.spa_heater
          name: Spa Heat
        - entity: switch.spa_blower
          name: Bubbles
        - entity: switch.spa_light
          name: Spa Light
    style:
      background-color: 'rgba(0,0,0,0.4)'
      bottom: 0
      left: 0
      padding: 3px
      right: 0
      transform: none
    type: 'custom:paper-buttons-row'

Pool Filler

image
image
This is a convenient button to turn on one of my sprinkler zones that is set up to fill the pool. Someday I’ll have water level sensors to automate the filling, but for now I am using this button. I timed how long it takes to add 1 inch of water to the pool and use that to set the duration on the sprinkler zone. My RainMachine integration gives me the time remaining, which I display on the button and it will automatically turn off when the duration expires. I’m using a button-card for this because it can handle a conditional templated status display.

yaml
  - type: 'custom:button-card'
    entity: switch.sprinkler_zone_12
    name: |-
      [[[ 
        if (entity.state == "off") return "Fill 1\"";
        var sec = parseInt(entity.attributes.time_remaining);
        const h = Math.floor(sec / 3600);
        const m = Math.floor((sec % 3600) / 60);
        const leftPad = (num) => (num < 10 ? `0${num}` : num);
        return `${leftPad(h)}:${leftPad(m)}`;
      ]]]
    icon: 'mdi:water-pump'
    layout: icon_name
    tap_action:
      action: |
        [[[
          return entity.state == "off" ? 'call-service' : 'toggle'
        ]]]
      service: rainmachine.start_zone
      service_data:
        zone_id: 13
        zone_run_time: 7200
    state:
      - value: 'on'
        styles:
          card:
            - background-color: lightgreen
            - border-radius: 8px
          name:
            - color: black
            - font-weight: bold
    styles:
      card:
        - background-color: transparent
        - box-shadow: unset
        - margin: 5px
        - padding: 1px 3px
        - width: 5em
      name:
        - font: unset
        - font-size: 0.9em
      icon:
        - width: 1.5em
    style:
      background-color: 'rgba(0,0,0,0.4)'
      border-radius: 15px 0 0 0
      bottom: 66px
      color: white
      font-size: 1.2em
      padding-right: 5px
      right: 0
      transform: none

Pool Status Display

image
This is the main situational status display. This is driven by a template sensor entity where I have composited the important device states of the system. There is also a secondary element to show if the battery needs to be replaced in the Jandy Aqualink panel.

more status images

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

yaml
  - buttons:
      - entity: sensor.aqualink_run_mode
        state_styles:
          cleaner-delay:
            text:
              color: yellow
          cleaning:
            text:
              color: lightgreen
          filling:
            text:
              color: lightblue
          filter-delay:
            text:
              color: yellow
          freeze:
            text:
              color: cyan
          lights:
            text:
              color: white
          'off':
            icon:
              color: inherit
          pool:
            text:
              color: lightgreen
          pool-heated:
            icon:
              color: crimson
            text:
              color: orange
          pool-heating:
            icon:
              color: crimson
            text:
              color: orangered
          service:
            text:
              color: red
          spa:
            text:
              color: aquamarine
          spa-blowing:
            text:
              color: orange
          spa-heated:
            icon:
              color: crimson
            text:
              color: orange
          spa-heating:
            icon:
              color: crimson
            text:
              color: orangered
          timeout:
            text:
              color: red
        state_text:
          cleaner-delay: Cleaner Delay
          cleaning: Cleaning The Pool
          filling: Adding Water
          filter-delay: Filter Delay
          freeze: Freeze Protect Active
          lights: Lights Are On
          'off': System Off
          pool: Pool Is Running
          pool-heated: Pool Is Heated
          pool-heating: Pool Is Heating Up
          service: Service Mode
          spa: Spa Is Running
          spa-blowing: Spa Is Extra Bubbly
          spa-heated: Spa Is Heated
          spa-heating: Spa Is Heating Up
          timeout: Temporary Service Mode
        style:
          icon:
            background-color: 'rgba(0,0,0,0.4)'
            border-radius: 30%
            color: var(--paper-item-icon-active-color)
            padding: 2px
      - entity: binary_sensor.aqualink_battery
        state_icons:
          'on': 'mdi:battery-alert-variant'
        state_text:
          'off': ​
          'on': Replace
        style:
          icon:
            color: yellow
          text:
            color: yellow
    style:
      '--mdc-icon-size': 30px
      background-color: 'rgba(0,0,0,0.4)'
      border-radius: 0 15px 0 0
      bottom: 66px
      font-size: 1.5em
      font-weight: bold
      left: 0
      transform: none
    type: 'custom:paper-buttons-row'

Special Overlays

image
image
image
For fun I added some circular image overlays for certain conditions.

yaml
  - entity: sensor.aqualink_run_mode
    filter: opacity(0)
    image: /local/pictures/pool.jpg
    state_filter:
      cleaner-delay: opacity(1)
      cleaning: opacity(1)
      filling: opacity(1)
      filter-delay: opacity(1)
      lights: opacity(1)
    state_image:
      cleaner-delay: /local/pictures/pool-cleaner.jpg
      cleaning: /local/pictures/pool-cleaner.jpg
      filling: /local/pictures/pool-filling.jpg
      filter-delay: /local/pictures/pool-valve.jpg
      lights: /local/pictures/pool-light.jpg
    style:
      border-radius: 50%
      bottom: 120px
      left: 10px
      transform: none
      width: 30%
    type: image

Temporary System Messages

The Jandy Aqualink occasionally has special informational messages to display. I didn’t bother getting a picture of it, but I have them conditionally displayed right in the center of the UI with a simple markdown card.

yaml
  - conditions:
      - entity: binary_sensor.aqualink_has_message
        state: 'on'
    elements:
      - card_type: markdown
        content: |
          {{ states.sensor.aqualink_message.state }}
        style:
          background-color: 'rgba(0,0,0,0.6)'
          border-radius: 10px
          font-size: 1.5em
          left: 50%
          text-align: center
          top: 50%
          z-index: 1
        type: 'custom:hui-element'
    type: conditional

Pool View Blinds

image
All of my windows on the house with a view of the pool have automated iBlinds, so why not have a nice control for them right on the pool UI?

The control I am using for the blinds is described on my other post here, so I’m not going to cover that in this post.


##Summary
There is a lot of config here. Feel free to ask questions. Hopefully a few people find some inspiration from it :slight_smile:

1 post - 1 participant

Read full topic

How would I automate detecting when item added to Alexa shopping list to trigger adding item to todoist?

$
0
0

I currently have automation working with ifttt where when I add an item to alexa’s shopping list, the item is also added to a specific todoist project. We do this because we heavily use todoist in my household.

I want to get of ifttt due to their pricing changes end of month but can’t figure out how to do this with HA.

Ideally I’d list to:

  1. Use Alexa to add item to shopping list
  2. Detect when this happens and add exact same item to a specific shopping list todoist project
  3. Delete the item from the Alexa shopping list (or mark it as complete).

Is this possible? I have nabu casa subscription.

1 post - 1 participant

Read full topic

Z-Wave Dimmer Control WiFi Smart Bulb In Another Room?

$
0
0

Hey everyone,
New to Home Assistant, and loving it!
I am trying to accomplish something which in my mind should be easy. However, my mind is beyond my knowledge of Home Assistant!! :smiley:

So, what I have is a Z-Wave Dimmer in Room A with standard bulbs, and in Room B I have a Smart Bulb.
What I want to do is to have the Smart Bulb in Room B to brightness adjust when the Z-Wave Dimmer in Room A is adjusted.
Can this be done in yaml, or Node-RED?
I have been searching through the community here which is awesome, and there is plenty of stuff on grouping lights, but I haven’t come across anything that does this.

If I’ve missed it please forgive me and point me in the right direction… I don’t want to waste anyone’s time.

Thanks.

1 post - 1 participant

Read full topic


Integration Light and "Template Light", "MQTT Light"

$
0
0

Hi everybody!!!

I have livolo RF433 light wall switches. I can control them through Sonoff RF Bridge. I can use MQTT and REST Api to control switches. But livolo switches have only command toggle and off. And in integration Light in documentation I see this methods. But MQTT Light and Template Light have only on and off commands. It’s not the same, that can do device. Is there way to create entity with integration Light, but with methods toggle and off.

Valera

1 post - 1 participant

Read full topic

BUG - unrecognized entries - how to delete?

$
0
0

Hello,
I have grown wild with the entity.

I have a MagicHome RGBW (Tasmota 8.5.1) in operation, actually for a long time, without any major problems.

Yesterday I did some updates and now it is no longer recognized properly.

Homeassistant Beta 117.b3
Supervisor 249
HassOS 4.15

After that my problems started :frowning:

Some Shellys were no longer recognized properly - as a solution, I re-integrated them with the new Shelly integration and then it worked.

Some Shellys were no longer recognized properly - as a solution I re-integrated them with the new Shelly integration and then it worked.

Some MQTT devices (LED controller and SonOff) were not recognized - I deleted them and set them up again.
I switched off the automatic detection SetOption19 0, after restarting the actuators it was activated again with SetOption 19 1.

Three devices (all with Tasmaota 8.5.1) were entered multiple times, but you can no longer delete the superfluous entities.

Is there a way how to get the phantom entries out?

greetings

Gerald

1 post - 1 participant

Read full topic

Cannot see all the zigbee devices in the network

$
0
0

Recently my Raspbee board stopped working so I decided to replace it with a ConBee II
Of course I had to pair again all the zigbee devices using the Deconz webapp and deleting the old ones.
Unfortunately after some time some devices disappeared from Deconz web app and disappeared too from Home Assistant as entities.
The strange things that I can see these devices regularly connected by a line to the coordinator or to another router using the Deconz UI but I no longer see them in the Deconz web app.
Any Idea how to fix this issue?

Thank You

1 post - 1 participant

Read full topic

DS-KD8003 integration Hikvision intercom

$
0
0

Aanyone got this doorbell? its a qiute cheap compared to a doorbird
i am lookinf for a POE system, with keypad option outdoor system

what are the possibilities to integrate in HA? seems its a closed API compared to Doorbird ? i think ?

1 post - 1 participant

Read full topic

RESTful sensor to show solarpanel data in graph

$
0
0

I am trying to retrieve data from my solar panels with a RESTful sensor. I want to show the montly production from the past year in a graph.
The api gave me these results:

{
    "energy": {
        "timeUnit": "MONTH",
        "unit": "Wh",
        "measuredBy": "INVERTER",
        "values": [
            {
                "date": "2020-01-01 00:00:00",
                "value": 77742.0
            }, {
                "date": "2020-02-01 00:00:00",
                "value": 149768.0
            }, {
                "date": "2020-03-01 00:00:00",
                "value": 462802.0
            }, {
                "date": "2020-04-01 00:00:00",
                "value": 679417.0
            }, {
                "date": "2020-05-01 00:00:00",
                "value": 792385.0
            }, {
                "date": "2020-06-01 00:00:00",
                "value": 727016.0
            }, {
                "date": "2020-07-01 00:00:00",
                "value": 613442.0
            }, {
                "date": "2020-08-01 00:00:00",
                "value": 576991.0
            }, {
                "date": "2020-09-01 00:00:00",
                "value": 470422.0
            }, {
                "date": "2020-10-01 00:00:00",
                "value": 148939.0
            }, {
                "date": "2020-11-01 00:00:00",
                "value": null
            }, {
                "date": "2020-12-01 00:00:00",
                "value": null
            }
        ]
    }
}

And this is the configuration i use:

  - platform: rest
    name: solaredge_data
    resource: https://<URL>
    
  - platform: template
    sensors:
      production_per_month:
        value_template: '{{ states.sensor.solaredge_data.attributes["energy"]["values"] }}'
        unit_of_measurement: 'Wh'

I have spent several hours to get it to work and from the documentation I can’t figure out how to do it. Any help would be appreciated

1 post - 1 participant

Read full topic

Viewing all 105515 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>