#!/usr/bin/env python3
# interface_w1_I3_2DS18B20.py

# add dtoverlay=w1-gpio,gpiopin=4 the file /boot/config.txt and reboot

import glob
import time

def readTemp(deviceFile):
    try:
        f = open(deviceFile, 'r')
    except IOError:
        print('IOError')
    line1 = f.readline()
    line2 = f.readline()
    f.close()
    pos = line2.find('t=')
    if pos != -1:
        tempString = line2[pos + 2:]
        temp = round(float(tempString) / 1000.0, 1)
    else:
        print('error')
    return temp

while True:
    deviceFolder = glob.glob('/sys/bus/w1/devices/28*')
    print("\nFound ",end='')
    print(len(deviceFolder),end='')
    print(" devices!\n")    
    for i in range(0,len(deviceFolder)):
        Folder = deviceFolder[i]                      # to string
        deviceFile = Folder + '/w1_slave'
        pos = Folder.find('28')   
        DS18B20Addr = Folder[pos:]
        print(str(i+1) + '. Sensor: Adresse = ' + DS18B20Addr + ' Temperatur = ' + \
          str(readTemp(deviceFile)) + ' °C')    
    time.sleep(2)
