Domotisation portail MotoStar LS400 (CAME ZN2)

Bonjour a tous! Je voudrai partager mon projet de domotisation de mon portail MOTOSTAR LS400 (une base de CAME ZN2)

Je suis parti a la base sur ce post bien fait mais qui n’était pas terminé. Alors comme il l’a expliqué je suis parti avec mon multimètre pour comprendre le comportement. Je cherchais a avoir les fins de courses et le switch d’ouverture.

Voici la carte que je possède, c’est une CAME ZN2.

le switch:
Le switch n’a pas été trop dur a trouvé, car dans la doc c’est bien indiqué, il faut faire un contact sec entre les bornes 2 et 7 (bornier 14 sur la carte) .

Les fins de courses :
Par contre pour les fins de courses ca a été plus dur. J’ai remarqué que quand le portail est ouvert en grand FA passe a +5V et quand il est complètement fermé c’est FC qui passe a +5V (Bornier 2 sur la carte). Donc je me suis dit cool, j’ai juste a mettre un relai et envoyé ca sur mon ESP. J’ai parlé trop rapidement. Montage fait, j’essai mais lorsque par exemple FC passe a +5V, ca enclenche le relais mais du coup fait chuter la tension sur FC a 2.86V qui annule donc l’état du capteur. J’ai bien essayé, vérifier que mes masses étaient les même et tout mais non cela faisait chuter la tension quoique je fasse. Je chercherai plus tard comment mieux utiliser ces 2 capteurs.
Alors pour pallier ce problème et avancé sur le projet, je suis parti sur des capteurs de contact magnétique. Rien de bien compliqué, je vais lui faire passer la masse quand les 2 blocs seront proches.

Matériels requis:

  • ESP8266 (pour moi un wemos D1 mini)
  • Convertisseur 230V AC → 5V DC (j’avais ca en stock)
  • Relai +5V (Amazon)
  • 2x Capteurs magnétiques (Amazon)

Plan de montage

Sur l’esp8266 je suis parti sur l’intégration avec ESP Home car c’est assez simple a mettre en œuvre sans forcement faire beaucoup de code.
Mes branchements:
- D1 → retour capteur fermeture complète
- D2 → retour capteur ouverture complet
- D3 → impulsion pour le switch du portail

J’ai collé pour l’instant au double face les capteurs derrière le bloc du moteur. Il suffit de coller ensuite les autre extrémité du capteur (l’aimant) en face sur la crémaillère quand celui-ci est fermé puis quand il est ouvert.

:warning: Pensez a séparé d’au moins3 ou 4 centimètre les 2 capteurs pour ne pas avoir de perturbations entre les 2.

Passons au codage pure de l’ESP home. Je vous passe les manipulations pour installer ESP home sur un esp8266, y’a de très bon tutos sur le net.

Code:

substitutions:
  #Materiel de dev
  board: d1_mini
  platform: ESP8266
  #Information sur le projet
  friendly_name: "portail"
  device_description: "Gestion d'un portail CAME LS400"
  appversion: "0.9.0"
  #VARIABLES :
    #Impulsion du switch en ms  
    tps_pause: "500ms"
    #Capteur de fermeture complete
    pin_capteur_ferme: "D1"
    #capteur d'ouverture complete
    pin_capteur_ouvert: "D2"
    #Switch d'ouverture
    pin_interrupteur: "D3"
    #Interval de refresh pour envoyer les infos du Wifi
    wifi_signal_report_interval: "300s" #5 minutes

esphome:
  name: $friendly_name
  comment: $device_description
  project:
    name: "portail.d1Mini"
    version: $appversion
esp8266:
  board: $board
api:
  encryption:
    key: !secret hakey
logger:
ota:
  password: !secret otakey
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Portail Weemos Fallback Hotspot"
    password: !secret wifi_password
captive_portal:
status_led:
  pin:
    number: D4
    inverted: true
web_server:
  auth:
    username: admin
    password: !secret web_server_password 
binary_sensor:
  #etat du capteur de fermeture
  - platform: gpio
    name: Capteur Portail Fermé
    pin: 
      number: $pin_capteur_ferme
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 100ms
      - delayed_off: 100ms
      - invert:
    id: sensor_portail_ferme
    internal: false   
  #etat du capteur d'ouverture'  
  - platform: gpio
    name: Capteur Portail Ouvert
    pin: 
      number: $pin_capteur_ouvert
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 100ms
      - delayed_off: 100ms
      - invert:
    id: sensor_portail_ouvert
    internal: false
  #Etat du portail (OFF: fermé/ ON: Ouvert)
  - platform: template
    name: Portail ouvert
    lambda: |-
      if (id(sensor_portail_ferme).state) {
        return false;
      } else {
        return true;
      } 
switch:
  - platform: gpio
    name: portail_switch
    pin:
      number: $pin_interrupteur
    id: relay1
    restore_mode: ALWAYS_OFF 
    on_turn_on:
    - delay: $tps_pause
    - switch.turn_off: relay1
  - platform: restart
    name: ESPHome Portail Reboot
cover:
  - platform: feedback
    name: Portail
    #OUverture maximal en seconde
    max_duration: 25s
    open_action:
      - switch.turn_on: relay1
      - delay: $tps_pause
      - switch.turn_off: relay1
    #temps d'ouverture du portail  
    open_duration: 22s
    #capteur qui lui indique qu'il est grand ouvert
    open_endstop: sensor_portail_ouvert
    close_action:
      - switch.turn_on: relay1
      - delay: $tps_pause
      - switch.turn_off: relay1 
    #temps de fermeture du portail   
    close_duration: 22s  
    #capteur qui lui indique qu'il est completement fermé
    close_endstop: sensor_portail_ferme
    stop_action:
      - switch.turn_on: relay1
      - delay: $tps_pause
      - switch.turn_off: relay1
sensor:
  # Reports the WiFi signal strength/RSSI in dB
  - platform: wifi_signal 
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: $wifi_signal_report_interval
    entity_category: "diagnostic"
  # Reports the WiFi signal strength in %
  - platform: copy 
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"
    device_class: ""      

Les differentes variables que vous pouvez modifier a votre aise.

#Impulsion du switch en ms  
tps_pause: "500ms"
#Capteur de fermeture complete
pin_capteur_ferme: "D1"
#capteur d'ouverture complete
pin_capteur_ouvert: "D2"
#Switch d'ouverture
pin_interrupteur: "D3"
#Interval de refresh pour envoyer les infos du Wifi
wifi_signal_report_interval: "300s" #5 minutes

Enfin voila ce que ca me remonte dans HA.

  • portail : une entité cover transformé en « gate » dans le réglage du volet
  • portail_switch : un switch pour ouvrir et ferme le portail avec juste une impulsion
  • Capteur Portail Fermé: L’état du capteur en fermeture complète
  • Capteur Portail ouvert: L’état du capteur en ouverture complète
  • Ouvert: Juste un capteur On/Off pour savoir si le portail est ouvert ou fermé (pour mes automatisation)
  • ESPHome reboot: Pour le reboot a distance
  • Wifi Signal : L’infos du signal wifi sur 2 capteur en dBm et en %

Je pense avoir fait le tour mais si vous avez des questions, je pourrai peut-être y répondre. Grace a tout ca je peux savoir si mon portail est resté ouvert pendant trop longtemps, allumer mes lumières quand je l’ouvre la nuit et quelques autres automatisations.

Merci pour votre lecture.