WELLPRO Sensor data conversion

Hey there,
I am using digital input module

I can read the data from the sensor and i have few problems:

  1. if the input is switch for short time , HA may not identify the change
  2. the 16 inputs are represent as 2 complementary number , i would like to prepare custom sensor that will allow me to identify one bit in the data as a separate sensor.

I am using the following settings:

Original register number was not working …
image

  • platform: modbus
    scan_interval: 1
    registers:
    • name: DIO
      slave: 1
      register: 10
      register_type: input
      count: 1
      data_type: int

anyone managed to link this component properly?

Anyone ? Ideas?

Not yet interested in this as well as it’s one of the sensors I have currently running on my Openhab system and looking at migrating parts from OH to HASS but haven’t come to that yet. Won’t be in the coming weeks, still struggling with the basics of HASS

About fast changing input - I’m using similar module Adam-6017 and there you can config input channels to counter mode. Even very short pulse will increase counter value which you can detect with next poll.

well i was able to find register that includes all inputs then i am doing the analysis per channel based on the array.

i was unable to read each register of the IO

hi Poratnir,

i am new to home assistant. I also have the wellpro digital inputs and output . For now i use these with openhab . and work well. but i want to implement more stuff in my home automation and to be honest. openhab is to slow and to hard to implement the things i want . did you manage to get the wellpro’s working with HA.

Yes…
I was unable to get every register separately so i used the register which includes all GPIO’s and then i convert each bit as input

I use this code for the all GPIO data

  • platform: modbus
    scan_interval: 1
    registers:
    • name: DIO
      slave: 1
      register: 10
      register_type: input
      count: 1
      data_type: int

then used template bitwise sensor

  • platform: template
    scan_interval: 1
    sensors:
    din01:
    entity_id:
    sensor.dio
    value_template: “{{ states(‘sensor.dio’)|int|bitwise_and(1) }}”

    din02: 
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(2) }}"    
    
    din03:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(4) }}"        
    
    din04:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(8) }}"          
     
    din05:  
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(16) }}"    
    
    din06: 
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(32) }}"   
      
    din07: 
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(64) }}"          
      
    din08:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(128) }}"    
    
    din09:  
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(256) }}"
      
    din10:  
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(512) }}"
      
    din11:     
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(1024) }}"    
      
    din12:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(2048) }}"  
      
    din13:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(4096) }}"  
      
    din14:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(8192) }}" 
      
    din15:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(16384) }}" 
      
    din16:
      entity_id:
        sensor.dio
      value_template: "{{ states('sensor.dio')|int|bitwise_and(32768) }}"