Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
N60 ESP Home Dallas sensor
#1
Hello All,

I have a n60  which I´m ore than happy as metering devise, but I´d like to add a Dallas sensor to it. 
With Kinconys own programm it´s easy, but I´m using ESP Home and I just can´t figure out the right way to write it to YAML.

Could someone help me out?
DS18B2
Reply
#2
you can add the DS18B20 sensor yaml code to our N60 yaml file.
how to add DS18B20, see here : https://esphome.io/components/sensor/dallas_temp/
just need define 1-wire bus firstly.
Reply
#3
(11-22-2025, 12:24 AM)admin Wrote: you can add the DS18B20 sensor yaml code to our N60 yaml file.
how to add DS18B20, see here : https://esphome.io/components/sensor/dallas_temp/
just need define 1-wire bus firstly.

Thanks for a quick answer! However, I already have about 30 Dallas sensors in my house and few of them connected to other Kincony devices also. 
So I know how it should be done in generally. 

For example in KC868-A8M I have the following code which works fine. 


one_wire:
  - platform: gpio
    pin: GPIO14  
sensor:
  - platform: dallas_temp
    address: 0x813c01e07654d228 #replace with your sensor's ID
    name: "Alaporras keskus lämpötila"

But wit N60 there´s a lot of more stuff:

esphome:

  name: spk-mittaukset
  friendly_name: SPK Mittaukset

esp32:
  variant: esp32s3
  framework:
    type: arduino

# Enable logging
logger:
  # baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "**************************"

ota:
  - platform: esphome

ethernet:
  type: W5500
  clk_pin: GPIO42
  mosi_pin: GPIO43
  miso_pin: GPIO44
  cs_pin: GPIO41
  interrupt_pin: GPIO2
  reset_pin: GPIO1


uart:
  rx_pin: 9
  tx_pin: 10
  baud_rate: 115200
  stop_bits: 1
  data_bits: 8
  parity: NONE


text_sensor:
  - platform: ethernet_info
    ip_address:
      name: ESP IP Address
      id: eth_ip
      address_0:
        name: ESP IP Address 0
      address_1:
        name: ESP IP Address 1
      address_2:
        name: ESP IP Address 2
      address_3:
        name: ESP IP Address 3
      address_4:
        name: ESP IP Address 4
    dns_address:
      name: ESP DNS Address
    mac_address:
      name: ESP MAC Address

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 15

i2c:
  sda: 18
  scl: 17

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());

modbus:

modbus_controller:
  - address: 1
    update_interval: 5s

sensor:
  - platform: modbus_controller
    address: 100
    register_type: holding
    name: bl0910_1_current_1
    id: n60_1_current_1
    unit_of_measurement: A
    device_class: current
    accuracy_decimals: 3
    value_type: U_DWORD_R
    filters:
      - multiply: 0.001

...and so on...

I´ve tried several ways for a few evenings but I just can´t figure out in which place I should put that sensor setup. Where ever I put it, I get an error.

Could you please point out the right spot for me?
Reply
#4
free GPIO (without pull up resistance):
GPIO15
GPIO16

these two free gpios can use for DS18B20 for N60
Reply
#5
(11-22-2025, 12:46 PM)admin Wrote: free GPIO (without pull up resistance):
GPIO15
GPIO16

these two free gpios can use for DS18B20 for N60

I´ve used pin 15 with no luck. The actual question was, in what spot in the code I should put the sensor setup?
I just tried again like this (part of the code):

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 15

i2c:
  sda: 18
  scl: 17

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());

modbus:

modbus_controller:
  - address: 1
    update_interval: 5s

one_wire:
  - platform: gpio
    pin: GPIO15     

sensor:

  - platform: dallas_temp
    name: spk_lampotila
    update_interval: 10s

  - platform: modbus_controller
    address: 100
    register_type: holding
    name: bl0910_1_current_1
    id: n60_1_current_1
    unit_of_measurement: A
    device_class: current
    accuracy_decimals: 3
    value_type: U_DWORD_R
    filters:
      - multiply: 0.001


And I get an error:

collect2: error: ld returned 1 exit status
*** [.pioenvs/spk-mittaukset/firmware.elf] Error 1
========================= [FAILED] Took 46.92 seconds =========================

What could cause this and again, where in what palce in the code should I put that sensor in?
Reply
#6
make sure GPIO15 and GPIO16 enable pull up resistance mode.
another way, you can test with KCS v3 firmware, enable DS18B20 will be very easy.
Reply
#7
(11-23-2025, 10:52 PM)admin Wrote: make sure GPIO15 and GPIO16 enable pull up resistance mode.
another way, you can test with KCS v3 firmware, enable DS18B20 will be very easy.

Although I´d prefer ESP Home I ended up to KCS firmware, which seems to work fine.
Only real problem is your ESP32 download tool. With several tries it just didn´t work...

But with ESP home WEB it got set up with no issues at all.

So now I get the info which i wanted, but it needed a lot to tweak in my settings.
Reply
#8
if can't download firmware by usb-c cable. try :
1. power off N60
2. hold on DW (download) button, don't move your finger.
3. power on of N60
4. release your finger.
5. Then N60 enter bootloader mode. download firmware again.
Reply


Forum Jump:


Users browsing this thread: