Transformer home assistant sur pc en automate filaire ...via usb

Bonjour,
comme beaucoup, j’ai commencé avec un Rpi et Domoticz , avec lequel j’étais tout en filaire , via 1-wire et GPIO. Pilotage Vmc, alarme, porte de garage, et biensur sondes de temperatures diverses
Maintenant je suis sous Home Hassistant avec un PC , et j’ai tout transferré sur des D1 mini et eps32 ou 8266, en wifi …
Mais voilà, je trouve le systeme wifi , enfin chez moi, pas 100% fiable par rapport au filaire. Parasite, wifi pas bien stable et un peu saturé avec les voisins :wink:etc …
.

Encore ce matin j’ai eu un esp8266 qui n’était plus reconnus , et j’ai du l’éteindre et le rallumer pour qu’il revienne dans l’infrastructure, ca m’arrive 1 fois par mois environ …

Etand donné que mes esp8266 sont à 20 cm de mon Pc et passent par le wifi donc, serait il possible de les racorder via le port USB en ic2 ou autres … SANS programmations complexe , je n’y arrive pas en prog( et ca m’handicape pas mal ! :cry: )
Ce qui serait génial se serait d’utilisé les ports Gpio d’un Rpi (peut etre esclave avec home assistant dessus) ou même d’un arduino , comme avant, et que celuis-ci communique avec mon pc avec home assistant en usb .
j’ai également vue cette extention , mais faut il « bidouiller » pour qu’elle soit reconnue sous home assistant ?

a
ou aussi celle là qui a l’air d’étre la même
.
https://www.amazon.fr/Adafruit-FT232H-Breakout-General-Purpose/dp/B00XW2MD30
.


.
.
Existe il une integration, ou un module complémentaire qui fasse la prise en charge ?
Ou y a t il une autre alernative ? Le fer a souder me fait moins peur que la programmation …
Si quelqu’un a une idée …!

Salut,

pas certain que passer par l’usb soit très facile comme idée. Et surement pas vraiment faisable sans script ou développement.

En revanche j’avais le même genre de bidouilles filaires qui arrivaient sur mon pi2 avec Domoticz… J’ai gardé le raspberry pour lire tout les capteurs et je publie les infos sur MQTT.
HA lit les infos sur les publications MQTT.

Salut

Comment as tu mis en place ton transfert via esp?
Tu as crée tes propres firmware via arduino ide?
Connaisntu esphome?
Esphome est une méthode te permettant de creer des firmwares rapidement pour esp32 ounesp8266
C’est simple robuste…

Il y a beaucoup d’exemples sur ce site

@Tedour
Fait de tres bonnes video un exemple

Bonjours , cette alternative m interrese … les 2 sont bien en rj 45 je supose …mais le rpi avec domoticz envoie les données a Home assistant ? Comment ca fonctionne ? Il faud créer un script aussi ?
Y aurait il un tuto la dessus ?

Salut,

je n’ai pas gardé Domoticz actif car je ne voulais plus le mettre à jour.
J’ai juste gardé des choses comme des sondes 1Wire, La téléinfo de mon compteur electrique, commande porte de garage, capteur position porte… Le tout en filaire et en RJ45.

Ca marche par des petits scripts python qui sont lancés à diverses fréquences et qui publient sur des topics MQTT.

Exemple celui des températures:

import os
import glob
import time
import paho.mqtt.client as mqtt

def mqtt_pub(topic, value):
        mqttc = mqtt.Client(client_id="DomoTemp")
        mqttc.username_pw_set("xxxxxxx", "xxxxxx")
        mqttc.connect("192.168.1.203", 1883, 60)
        mqttc.publish(topic,value, qos=0, retain=True)
        mqttc.disconnect()


os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')


def read_temp_raw(file):
        base_dir = '/sys/bus/w1/devices/' + file
        device_file = base_dir + '/w1_slave'
        f = open(device_file, 'r')
        lines = f.readlines()
        f.close()
        return lines

def read_temp(file, room):
    lines = read_temp_raw(file)
    while lines[0].strip()[-3:] != 'YES':
        time.sleep(0.2)
        lines = read_temp_raw()
    equals_pos = lines[1].find('t=')
    if equals_pos != -1:
        temp_string = lines[1][equals_pos+2:]
        temp_c = round(float(temp_string) / 1000.0, 1)
        mqtt_pub('temperatures/' + room, temp_c);


read_temp('28-0000065c966b', 'ChambreJ')
read_temp('28-0000065cd0c2', 'SalleDeBains')
read_temp('28-0000065cee0e', 'ChambreParents')
read_temp('28-0000065cf3a6', 'CouloirEtage')
read_temp('28-0000065d0fb5', 'ChambreGauche')
read_temp('28-0000065d4ad9', 'Garage')
1 « J'aime »

Pffuiiii ! Qu est ce j aimerais comprendre ce script… je me doutais bien qu il n y a pas " Y a juste a installé ca … " :pensive:
Merci …
Je vais essayer …

Je me doute que c’est la réponse typique, mais ce n’est pas si compliqué :slight_smile:

En fait il y a des exemples pour pleins de choses disponibles.
Et là j’ai juste repris un exemple qui lit les valeurs des 6 sondes 1Wire l’une après l’autre…
Puis j’y ai collé un autre exemple qui envoie des infos en MQTT.

J’essaye de garder les choses assez basiques. Car sinon après quelques années c’est la galère pour comprendre!

Même au bout de 30 secondes … :grin: