Page 1 sur 2
Erreur 1 wire System
Publié : 11 janv. 2025, 18:32
par daniel4860
Bonjour,
Je comprends pas dans les log j'ai cette erreur:
Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-012062de7a94
J'ai 5 sondes DS18B20, et hier soir pour une raison que je connais pas, plus aucune valeur de température n’était indiqué.
J'ai débranché l'alimentation du raspberry, puis remise sous tension et 4 sonde me donnait à nouveau la température.
J'ai débranché la Sonde qui ne donnait aucune température et je l'ai contrôlé, elle fonctionne.
Mise hors tension du raspberry et rebranché la sonde, mise en tension du raspberry et j'ai retrouvé toutes mes températures.
Dans les log erreur:
2025-01-11 18:26:16.902 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-800000281363
2025-01-11 18:26:29.574 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-012062fb77bd
2025-01-11 18:26:30.502 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-80000004757c
2025-01-11 18:26:31.430 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-800000281363
2025-01-11 18:26:43.974 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-012062fb77bd
2025-01-11 18:26:44.869 Error: Sonde DS18B20: 1-Wire system : error reading value from /sys/bus/w1/devices/28-80000004757c
Je n'ai aucune idée de ce qu'il y a lieu de faire? Peut-être que quelqu'un a eu cette error?
Merci par avance de réponses et d'aide.
Daniel
Modération
Publié : 11 janv. 2025, 20:30
par Keros
Sujet déplacé dans la section dédiée au 1-Wire
Re: Erreur 1 wire System
Publié : 12 janv. 2025, 08:51
par Bibi49
Bonjour,
Tu utilise bien une alimentation indépendante pour le 1 wire ? (pas depuis les gpio)
Re: Erreur 1 wire System
Publié : 12 janv. 2025, 15:19
par daniel4860
Bonjour,
Non j'utilise les gpio pour alimenter les sondes.
Cela a t'il une incidence sur les sondes ? Ou y a t'il trop de sonde ?
Sinon comment faire une alimentation extérieur et récupérer le fil de données?
Re: Erreur 1 wire System
Publié : 12 janv. 2025, 15:50
par Bibi49
le problème peut avoir plusieurs sources.
la sections de fils trop petites par rapport a la longueur. (si câble PTT, double les fils d'alimentation : 2 fils pour le +3,3V et deux pour la masse)
alimentation 3,3V trop faible (a vérifier avec un voltmètre continu en "fin de ligne")
mauvaise connection (jamais eu de problème si souder a l'étain)
Tu utilise une alimentation 3,3V continu (réglable de preference) pour remplacer l'alimentation depuis le raspberry.
Tu n'aura que le GPIO 4 de branché sur le raspberry. (d'ou le noms "1 Wire")

Re: Erreur 1 wire System
Publié : 12 janv. 2025, 18:28
par Neutrino
Le GND devra être commun aussi.
J'ai eu plusieurs problèmes avec le 1-wire et un Pi3.
En baissant la resistance de pull-up ça a marché un temps avec 5 sondes et 20m de câble.
Au final, j'avais migré sur un wemos d mini et ESPeasy au lieu du Pi.
ça a résolu les problèmes.
Re: Erreur 1 wire System
Publié : 13 janv. 2025, 08:12
par fcBourgogne
Bonjour,
Si tu peux faire ce que Bibi49 préconise, doubler les brins de fils pour l'alim des sondes vérifier la tension, qui est très importante
Si elle est proche des 3V voir 2.9V se sera disfonctionnement garantie, de plus nous sommes en hiver la tension du réseau peut baisser par moment ce qui risque de se répercuter sur la tension des sondes.
J'ai actuellement 8 sondes qui tournent, 3 sur ESP8266 car elles sont vraiment trop loin et 5 sur le 1wire du PI3B+.
J'ai partiellement résolu le décrochage de la sonde la plus éloignée avec l'ajout d'un condo de 470µF sur son alim.
La plus part du temps quand une sonde est en défaut, vérifiez sa tension entre le négatif et le data vous verrez que la tension est inférieur à 2.9V en permanence, ce qui n'est pas bon elle doit être de la même tension que celle de l'alim avec oui une petite chute de tension rythmée par l'appel du PI.
Malgré tout une fois par semaine elle décroche encore mais beaucoup moins depuis le doublage des câbles puis l'ajout du condo, l'inconvénient quand une sonde décroche est que cela est empirique, à terme se seront toutes les sondes qui tombent.
Je peux aussi assurer que les perturbations électrique sur le réseau font tomber certaines sondes, exemple avec le relais de mon chauffe-eau.
J'ai ajouté un script qui surveille le décrochage d'une sonde dans le log, aussi tôt il relance le canal 1wire et tout redevient normal.
A+
Re: Erreur 1 wire System
Publié : 18 janv. 2025, 09:05
par daniel4860
Bonjour à tous
Merci pour toutes vos remarques, les câbles pour les sondes sont du multibrin de 0,75mm2, les connexions sont des bornes de connexions automatiques et la plus grandes longueur est de 15m.
Je n'ai pas mesurer en bout de ligne la tension, je le ferais quand je serais rentrer.
Par contre comment faire le script pour surveiller le décrochage des sondes et relancée le 1-wire.
Je ne programme quand blocky, je ne connais pas le LUA.
Bonne journée.
Daniel
Re: Erreur 1 wire System
Publié : 07 févr. 2025, 07:54
par fcBourgogne
Bonjour,
Mon code en lua:
Code : Tout sélectionner
--
--SURVEILANCE DES CANAUX I2C ET 1WIRE
-- Si défaut repéré dans le log arrêt et redémarrage du canal
commandArray = {}
-- Chemin du fichier log de Domoticz
local logFilePath = "/tmp/domoticz.txt"
-- Fonction pour lire la dernière ligne d'un fichier
local function readLastLine(filename)
local file = io.open(filename, "r")
if not file then return nil end
local lastLine
for line in file:lines() do
lastLine = line
end
file:close()
return lastLine
end
-- Lire la dernière ligne du fichier log
local lastLogLine = readLastLine(logFilePath)
-- Vérifier que la dernière ligne n'est pas nil
if lastLogLine then
-- Vérifier la présence de l'erreur "Error: I2C"
if string.find(lastLogLine, "Error: I2C") then
-- Arrêt du canal I2C
os.execute("sudo modprobe -r i2c-dev")
commandArray['SendNotification']='subject#Défaut canal I2C.#0'
-- Afficher un message dans la console
print('Canal I2C arrêt suite à l\'erreur.')
-- Pause de 5 secondes
os.execute("sleep 2")
-- Redémarrer le canal I2C
os.execute("sudo modprobe i2c-dev")
-- Afficher un message dans la console
print('Canal I2C redémarré suite à l\'erreur.')
end
-- Vérifier la présence de l'erreur "Error: Wire1"
if string.find(lastLogLine, "Error: Wire1") then
--Arrêt du canal w1-gpio
os.execute("sudo modprobe -r w1-gpio")
-- Afficher un message dans la console
print('Canal W1 arrêt suite à l\'erreur.')
-- Pause de 5 secondes
os.execute("sleep 1")
-- Redémarrage du canal W1
os.execute("sudo modprobe w1-gpio")
print('Canal W1 redémarré suite à l\'erreur.')
-- Pause de 5 secondes
os.execute("sleep 2")
end
else
print('Le fichier log est vide ou inaccessible.')
end
return commandArray
En bout de ligne près de la sonde DS18b20 ajoute un condo de 470µF sur son alim.
A+
Re: Erreur 1 wire System
Publié : 14 févr. 2025, 15:12
par daniel4860
Merci fcBourgogne du script lua pour la surveillance I2C et 1WIRE.
J'ai un peu de mal à comprendre mais je vais m'y mettre au LUA.
Je vais voir pour y mettre un condensateur en bout de ligne.
J'ai bien les 3,3v en bout de ligne, mais comme je suis en bout de ligne EDF quelque fois le 380V fluctue!!
Cordialement
Daniel