In config I want a received int number to match a text, like 2=Low battery and present text, not number

Hi again,

This is a system that reports back to HA.
Idea about alarm is among give alarm states but also “I’m alive”
I’m alive is not so important due to paketNo and also parameters changes.

Due to writing data both on HA dashboard and on OLED screen on the receiver the text is pre defined (placing), and empty alarm will in make User questions, no alarm?:
image

But as you have learned, I’m not into HA per today, HA is my final stage after developing this system for 2 years, so HA ladder is starting now.

What you mean by?

I was already afraid this would happen

Anyway, if there is a work around, I appreciate any help.

You were having 2 sensors with the same name, which were therefore creating entities with the same entity_id.

Without an unique id they will keep adding suffixes to the entity_id because the other one is still in use.

But you didn’t really answer my question, do you need to have a sensor that has the 9 as its state?

Hi

I dont ned a 9, i need 1 to 4 as a minimum

You are misunderstanding my question.

Would it be okay if the mqtt doesn’t return 9, but the converted state directly? You won’t have access to the number in HA anymore, but the sensor will show Kube 1 ingen alarm

1 Like

Hi

I don’t need to see the numbers, that is todays solution.

For me the important part is that I get a text alarm if number 1-4 is received to HA

# Loads default set of integrations. Do not remove.
default_config:

#my integration
my:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

##########
# Alt over er fra default installasjon
# DO NOT RENAME THIS FILE TO CONFIGURATION.YAML! YOU WILL BREAK YOUR CONFIG IF YOU DO SO!
# INSTEAD, COPY THIS CODE WITHIN YOUR OWN SECRETS.YAML          
##########

influxdb:
  host: xxxxxx
  port: 8086
  database: xxxx
  username: xxxx
  password: xxxxxxxxxxx
  max_retries: 3
  default_measurement: state
  




#   ############################## HiveMon start  ############################
 mqtt:
  - sensor:
    - name: 'Kube 1 alarm'
      unique_id: kube1alarm
      state_topic: 'bikuber/kube1/alarmValue'
      value_template: >
          {% set alarm = {
            '1': 'Kube 1 flyttet',
            '2': 'Kube 1 lavt batteri',
            '3': 'Kube 1 a',
            '4': 'Kube 1 b',
            '5': 'Kube 1 c',
            '6': 'Kube 1 d',
            '7': 'Kube 1 e',
            '8': 'Kube 1 f',
            '9': 'Kube 1 ingen alarm'
          } %}
          {{ alarm.get(value | string), 'Ukjent alarm') }}

   
    - name: 'Kube 1 vekt'
      unique_id: kube1Vekt
      state_topic: 'bikuber/kube1/vekt'
      state_class: measurement
      unit_of_measurement: 'Kg' 
    
    - name: 'Kube 1 DHT temp'
      unique_id: kube1DHTtemp
      state_topic: 'bikuber/kube1/DHTtempKube'
      unit_of_measurement: '°C' 

    - name: 'Kube 1 DHT fukt'
      unique_id: kube1DHTFukt
      state_topic: 'bikuber/kube1/DHTfuktKube'
      unit_of_measurement: '%RH'       
      
    - name: 'Kube 1 BS temp kube'
      unique_id: kube1BSTempKube
      state_topic: 'bikuber/kube1/BStempKube'
      unit_of_measurement: '°C'
      device_class: temperature

    - name: 'Kube 1 BS temp ute'
      unique_id: kube1BtempUte
      state_topic: 'bikuber/kube1/BStempUte'
      state_class: measurement
      unit_of_measurement: '°C'
      
    - name: 'Kube 1 volt'
      unique_id: kube1volt
      state_topic: 'bikuber/kube1/volt'  
      state_class: measurement
      unit_of_measurement: 'V'

    - name: 'Kube 1 kubenr'
      unique_id: kube1 kubeNr
      state_topic: 'bikuber/kube1/kubeNr'
      state_class: measurement
        
    - name: 'Kube 1 senderVersjonNr'
      unique_id: kube1versjonsnr
      state_topic: 'bikuber/kube1/senderVersjonNr'
      state_class: measurement
    
    - name: 'Kube 1 pakkeNr'
      unique_id: kube1 nr
      state_topic: 'bikuber/kube1/pakkeNr'
      state_class: measurement
      
    - name: 'Kube 1 signalstyrke'
      unique_id: kube1 signalstyrke
      state_topic: 'bikuber/kube1/signalstyrke'
#      state_class: measurement
      device_class: signal_strength
      unit_of_measurement: 'dBm'

  ############################## HiveMon ferdig  ############################

Can you try this? I removed the config for the template sensor and applied the template directly in the mqtt sensor

1 Like

Thanks one more time

I removed number 4:
image

It saved with green checkmark

Error:

Failed to reload configuration
Validation error: Invalid config for ‘sensor’ at configuration.yaml, line 38: invalid template (TemplateSyntaxError: unexpected ‘)’) for dictionary value ‘value_template’, got “{% set alarm = {\n ‘1’: ‘Kube 1 flyttet’,\n ‘2’: ‘Kube 1 lavt batteri’,\n ‘3’: ‘Kube 1 a’,\n ‘4’: ‘Kube 1 b’,\n ‘5’: ‘Kube 1 c’,\n ‘6’: ‘Kube 1 d’,\n ‘7’: ‘Kube 1 e’,\n ‘8’: ‘Kube 1 f’,\n ‘9’: ‘Kube 1 ingen alarm’\n} %} {{ alarm.get(value | string), ‘Ukjent alarm’) }}\n”, please check the docs at MQTT - Home Assistant

image

Copy of running code (your code):

#   ############################## HiveMon start  ############################
mqtt:
  - sensor:
    - name: 'Kube 1 alarm'
      unique_id: kube1alarm
      state_topic: 'bikuber/kube1/alarmValue'
      value_template: >
          {% set alarm = {
            '1': 'Kube 1 flyttet',
            '2': 'Kube 1 lavt batteri',
            '3': 'Kube 1 a',
            '4': 'Kube 1 b',
            '5': 'Kube 1 c',
            '6': 'Kube 1 d',
            '7': 'Kube 1 e',
            '8': 'Kube 1 f',
            '9': 'Kube 1 ingen alarm'
          } %}
          {{ alarm.get(value | string), 'Ukjent alarm') }}

   
    - name: 'Kube 1 vekt'
      unique_id: kube1Vekt
      state_topic: 'bikuber/kube1/vekt'
      state_class: measurement
      unit_of_measurement: 'Kg' 
    
    - name: 'Kube 1 DHT temp'
      unique_id: kube1DHTtemp
      state_topic: 'bikuber/kube1/DHTtempKube'
      unit_of_measurement: '°C' 

    - name: 'Kube 1 DHT fukt'
      unique_id: kube1DHTFukt
      state_topic: 'bikuber/kube1/DHTfuktKube'
      unit_of_measurement: '%RH'       
      
    - name: 'Kube 1 BS temp kube'
      unique_id: kube1BSTempKube
      state_topic: 'bikuber/kube1/BStempKube'
      unit_of_measurement: '°C'
      device_class: temperature

    - name: 'Kube 1 BS temp ute'
      unique_id: kube1BtempUte
      state_topic: 'bikuber/kube1/BStempUte'
      state_class: measurement
      unit_of_measurement: '°C'
      
    - name: 'Kube 1 volt'
      unique_id: kube1volt
      state_topic: 'bikuber/kube1/volt'  
      state_class: measurement
      unit_of_measurement: 'V'

    - name: 'Kube 1 kubenr'
      unique_id: kube1 kubeNr
      state_topic: 'bikuber/kube1/kubeNr'
      state_class: measurement
        
    - name: 'Kube 1 senderVersjonNr'
      unique_id: kube1versjonsnr
      state_topic: 'bikuber/kube1/senderVersjonNr'
      state_class: measurement
    
    - name: 'Kube 1 pakkeNr'
      unique_id: kube1 nr
      state_topic: 'bikuber/kube1/pakkeNr'
      state_class: measurement
      
    - name: 'Kube 1 signalstyrke'
      unique_id: kube1 signalstyrke
      state_topic: 'bikuber/kube1/signalstyrke'
#      state_class: measurement
      device_class: signal_strength
      unit_of_measurement: 'dBm'

  ############################## HiveMon ferdig  ############################

My bad, remove the ) after string on line 53

1 Like

Holy cow!!!

Something happened!

Alarm 9 gave
image

Alarm 3:
image

Dashboard:
image

Can it be some int/string/charproblem?

As I remember the HA mqtt packet is a string

can you post what you use now? Looks like your template is not correct.

1 Like

image

image

yaml:

#   ############################## HiveMon start  ############################
mqtt:
  - sensor:
    - name: 'Kube 1 alarm'
      unique_id: kube1alarm
      state_topic: 'bikuber/kube1/alarmValue'
      value_template: >
          {% set alarm = {
            '1': 'Kube 1 flyttet',
            '2': 'Kube 1 lavt batteri',
            '3': 'Kube 1 a',
            '4': 'Kube 1 b',
            '5': 'Kube 1 c',
            '6': 'Kube 1 d',
            '7': 'Kube 1 e',
            '8': 'Kube 1 f',
            '9': 'Kube 1 ingen alarm'
          } %}
          {{ alarm.get(value | string), 'Ukjent alarm' }}

   
    - name: 'Kube 1 vekt'
      unique_id: kube1Vekt
      state_topic: 'bikuber/kube1/vekt'
      state_class: measurement
      unit_of_measurement: 'Kg' 
    
    - name: 'Kube 1 DHT temp'
      unique_id: kube1DHTtemp
      state_topic: 'bikuber/kube1/DHTtempKube'
      unit_of_measurement: '°C' 

    - name: 'Kube 1 DHT fukt'
      unique_id: kube1DHTFukt
      state_topic: 'bikuber/kube1/DHTfuktKube'
      unit_of_measurement: '%RH'       
      
    - name: 'Kube 1 BS temp kube'
      unique_id: kube1BSTempKube
      state_topic: 'bikuber/kube1/BStempKube'
      unit_of_measurement: '°C'
      device_class: temperature

    - name: 'Kube 1 BS temp ute'
      unique_id: kube1BtempUte
      state_topic: 'bikuber/kube1/BStempUte'
      state_class: measurement
      unit_of_measurement: '°C'
      
    - name: 'Kube 1 volt'
      unique_id: kube1volt
      state_topic: 'bikuber/kube1/volt'  
      state_class: measurement
      unit_of_measurement: 'V'

    - name: 'Kube 1 kubenr'
      unique_id: kube1 kubeNr
      state_topic: 'bikuber/kube1/kubeNr'
      state_class: measurement
        
    - name: 'Kube 1 senderVersjonNr'
      unique_id: kube1versjonsnr
      state_topic: 'bikuber/kube1/senderVersjonNr'
      state_class: measurement
    
    - name: 'Kube 1 pakkeNr'
      unique_id: kube1 nr
      state_topic: 'bikuber/kube1/pakkeNr'
      state_class: measurement
      
    - name: 'Kube 1 signalstyrke'
      unique_id: kube1 signalstyrke
      state_topic: 'bikuber/kube1/signalstyrke'
#      state_class: measurement
      device_class: signal_strength
      unit_of_measurement: 'dBm'

  ############################## HiveMon ferdig  ############################

you removed the wrong ), I meant the one directly after string

So:

{{ alarm.get(value | string, 'Ukjent alarm') }}

However, the template doesn’t seem to work, I’m not that familiar with mqtt config, but as far as I know value should refer to the value from the state topic.

@petro any chance you can shed some light on this?

1 Like

Thanks TheFes, you are giving me the best forum support ever!

I changed the parentheses, Devil is in the details!

Did not change Dash

image

mqtt:
  - sensor:
    - name: 'Kube 1 alarm'
      unique_id: kube1alarm
      state_topic: 'bikuber/kube1/alarmValue'
      value_template: >
          {% set alarm = {
            '1': 'Kube 1 flyttet',
            '2': 'Kube 1 lavt batteri',
            '3': 'Kube 1 a',
            '4': 'Kube 1 b',
            '5': 'Kube 1 c',
            '6': 'Kube 1 d',
            '7': 'Kube 1 e',
            '8': 'Kube 1 f',
            '9': 'Kube 1 ingen alarm'
          } %}
          {{ alarm.get(value | string | trim, 'Ukjent alarm') }}

can you try this? Make sure to reload mqtt entities afterwards, because your previous screenshot indicates the ) is still in the wrong place

2 Likes

What shall I say, 1000 thanks!!! (Norwegian tusen takk!)
The help you have provided is gold standard. I hope I one day can do the same!

Low batt alarm (nr 2)
image

Værsågod! (which should be “you’re welcome” according to Google Translate)

1 Like

Perfect
Takk

Match a number received from a MQTT message to a specific text in HA:

Thanks to @TheFes also @paddy0174 and @Olivier1974

Full confuguration.yaml solution:

mqtt:
  - sensor:
    - name: 'Kube 1 alarm'
      unique_id: kube1alarm
      state_topic: 'bikuber/kube1/alarmValue'
      value_template: >
          {% set alarm = {
            '1': 'Kube 1: Bevegelse',
            '2': 'Kube 1: Lavt batteri',
            '3': 'Kube 1: Pluttselig vektendring NEGATIV',
            '4': 'Kube 1: Kubetemp under 20 °C',
            '5': 'Kube 1: Temp ute under -10 °C',
            '6': 'Kube 1: Ingen alarm 6',
            '7': 'Kube 1: Ingen alarm 7',
            '8': 'Kube 1: Ingen alarm 8',
            '9': 'Kube 1: Default ingen alarm 9'
          } %}
          {{ alarm.get(value | string | trim, 'Ukjent alarm') }}
   
    - name: 'Kube 1 vekt'
      unique_id: kube1Vekt
      state_topic: 'bikuber/kube1/vekt'
      state_class: measurement
      unit_of_measurement: 'Kg' 
    
    - name: 'Kube 1 DHT temp'
      unique_id: kube1DHTtemp
      state_topic: 'bikuber/kube1/DHTtempKube'
      unit_of_measurement: '°C' 

    - name: 'Kube 1 DHT fukt'
      unique_id: kube1DHTFukt
      state_topic: 'bikuber/kube1/DHTfuktKube'
      unit_of_measurement: '%RH'       
      
    - name: 'Kube 1 BS temp kube'
      unique_id: kube1BSTempKube
      state_topic: 'bikuber/kube1/BStempKube'
      unit_of_measurement: '°C'
      device_class: temperature

    - name: 'Kube 1 BS temp ute'
      unique_id: kube1BtempUte
      state_topic: 'bikuber/kube1/BStempUte'
      state_class: measurement
      unit_of_measurement: '°C'
      
    - name: 'Kube 1 volt'
      unique_id: kube1volt
      state_topic: 'bikuber/kube1/volt'  
      state_class: measurement
      unit_of_measurement: 'V'

    - name: 'Kube 1 kubenr'
      unique_id: kube1 kubeNr
      state_topic: 'bikuber/kube1/kubeNr'
      state_class: measurement
        
    - name: 'Kube 1 senderVersjonNr'
      unique_id: kube1versjonsnr
      state_topic: 'bikuber/kube1/senderVersjonNr'
      state_class: measurement
    
    - name: 'Kube 1 pakkeNr'
      unique_id: kube1 nr
      state_topic: 'bikuber/kube1/pakkeNr'
      state_class: measurement
      
    - name: 'Kube 1 signalstyrke'
      unique_id: kube1 signalstyrke
      state_topic: 'bikuber/kube1/signalstyrke'
      device_class: signal_strength
      unit_of_measurement: 'dBm'

  ############################## HiveMon ferdig  ############################

Not today but next step:

Automate:

mqtt:
   -sensor:
      -name 'kube x alamr'

to receive messages from beeHive 1 to x and not copy code x times

Wife have 10 hives…