Aller au contenu

Messages recommandés

Posté (modifié)

Bonjour à toutes et tous,

 

J'ai développé un plugin pour les prises connectées Shelly pour NINA,  nommé ShellyPower, il est compatible pour les Shelly Gen 1/2/3 mais ayant une Gen 2, je n'ai pas testé les autres.

Ce plugin fonctionne correctement pour moi, je vous adresse le README.md afin de trouver les infos pour l'utiliser.
Il est utilisable dans les séquenceurs: voir dans les sequenceurs "ShellyPower" ...

J'ai crée un repo Github mais pour l'instant il reste en private en attendant vos retours, hésitez pas à me contacter si soucis.

 

# NINA.ShellyPower — Plugin NINA 3.x pour prises connectées Shelly

**Version 1.0.0** · Auteur : **Gérard Hurtaud** · Licence : MIT
· **GitHub** : https://github.com/GHD-arch/ShellyPower
· NINA 3.0+ (testé 3.2.0.9001)

Plugin pour **NINA** (Nighttime Imaging 'N' Astronomy) permettant de piloter des **prises
connectées Shelly** (API REST Gen1 et RPC Gen2/Gen3) — jusqu'à **4 prises nommées**,
chacune avec son adresse IP.

---

## Fonctionnalités

1. **Équipement Switch** — les 4 prises apparaissent comme un hub de switches pilotables
   dans l'onglet Équipement de NINA (ON/OFF, état lu par polling automatique).
2. **Compteurs de consommation** — chaque prise expose un compteur « info only »
   (puissance en watts, tension, courant, énergie cumulée en kWh) dans la section
   Read-only de l'onglet Équipement.
3. **Instructions de séquenceur** — `Shelly Power On` / `Shelly Power Off` avec
   identification de la prise ciblée dans le nom (`Shelly Power On → Alimentation`).
4. **Panneau de configuration** — saisie des 4 noms + adresses IP, test de connexion,
   pilotage ON/OFF direct avec couleurs (vert allumée / rouge éteinte), état en direct.
5. **Détection réseau automatique** — bouton « Détecter les prises » qui scanne le
   sous-réseau local et propose les prises Shelly trouvées.
6. **Protection anti-coupure** — confirmation demandée avant toute extinction manuelle
   (toggle Équipement, bouton OFF du panneau). Le séquenceur n'est **pas** concerné
   (automatisation nocturne préservée).

## Surfaces d'utilisation

| Surface | Contenu | Persistance |
|---|---|---|
| **Équipement → Switch** (connecté via éclair) | 4 prises (toggle ON/OFF) + 4 compteurs (W) | Toute la session |
| **Panneau dockable** (menu Affichage) | Config + ON/OFF colorés + état + test | Permanent, déplaçable |
| **Engrenage Setup** (Équipement → Switch) | Même fenêtre que le panneau | Modale |
| **Options → Plugins → Shelly Power** | Même panneau (via `Core`) | Persistant |
| **Séquenceur** | Instructions On/Off avec nom de prise | Sauvegardé avec la séquence |
| **Mini-séquenceur** (onglet Imagerie) | ComboBox de sélection de prise | — |

## Prérequis

- **NINA 3.x stable** (testé 3.2, .NET 8.0)
- **SDK .NET 8.0** pour compiler (`dotnet build -c Release`)
- Prises **Shelly Gen1** (API REST `/relay/0`) ou **Gen2/Gen3** (RPC `/rpc/Switch.*`)

## Compilation

```powershell
cd ShellyPower
dotnet build -c Release
```

Résultat : `ShellyPower\bin\Release\net8.0-windows\NINA.ShellyPower.dll`

## Installation

1. **Fermer NINA.**
2. Copier `NINA.ShellyPower.dll` dans `%LOCALAPPDATA%\NINA\Plugins\3.0.0\ShellyPower\`.
3. **Redémarrer NINA.**

## Configuration

1. Ouvrir le panneau **Shelly Power** (engrenage Setup dans Équipement → Switch).
2. Pour chaque prise : **Nom** (ex. `Alimentation`) + **Adresse IP** (ex. `192.168.1.52`).
3. Cliquer **Tester** → `OK — PlusPlugS (Gen2) — prise éteinte`.
4. La saisie est **sauvegardée automatiquement** (profil NINA).
5. Optionnel : cocher **Protégée** (par défaut) pour confirmer avant extinction manuelle.
6. Optionnel : cliquer **Détecter les prises** pour scanner le réseau automatiquement.

## Compatibilité Shelly

| Génération | API | État | Consommation |
|---|---|---|---|
| Gen1 | `/relay/0`, `/meter/0` |  |  |
| Gen2 (Plus Plug S, etc.) | `/rpc/Switch.*` (+ compat Gen1) |  |  |
| Gen3 (Plug M, etc.) | `/rpc/Switch.*` |  |  |

## Licence

MIT.

---

*Auteur : Gérard Hurtaud · GitHub : [GHD-arch/ShellyPower](https://github.com/GHD-arch/ShellyPower) · Version 1.0.0 · 28 août 2026*

 

NINA.ShellyPower.dll

Modifié par TuxAstro
  • J'aime 4
Posté

Bonne idée. Je vois que tu a dev cette DLL sous Claude, il t'a fallu combien de temps pour y parvenir ?
je vais adapter ton idée pour les prises pilotables TAPO ^^
j'ai déjà un truc apparenté : ça allume la lumière de l'observatoire quand la monture fait du GOTO ou quand elle se parque. Elle reste allumée pendant 5 minutes après le parking, et 5 secondes après un goto....

Posté

Salut Fred,

En faite non c'est pas Claude, j'ai utilisé DeepSeek Harness avec plusieurs modèles Ollama. D'habitude j'utilise plutôt

Codex mais je voulais tester Harness et c'est assez fabuleux, il garde ton projet en mémoire et ainsi tu peux utiliser plusieurs

IA de suite et il continue  ton soft, combien de temps ? je ne sais pas trop car c'est en fonction de mes idées, voici des données

récupérer de DSH 77 turns · 842 steps| LLM 181m9s · Tool call 34m23s| TTFT avg 6.4s · 176 tok/s| Cache hit 27%| Input 294M tok · Output 94
peut-être 3H30 en tout !!! j'ai retravaillé dessus hier internationalisation et icone SVG.

SI tu veux j'ouvre mon repos et tu peux demander à ton IA d'adapter pour TAPO, pourquoi  ne pas faire pour plusieurs marque  !?

Là je suis bloqué jusqu'à demain, je n'ai plus de cerveau, 100% du weekly usage ! Si tu connais git c'est simple sinon demandes à ton cerveau ! :be:

 

image.png.67f5f1b3d619b1a0b203072fb1d077c0.png

  • J'aime 1
Posté

Quand ca me gratte: ca me gratte , j'ai demandé à une IA:

Différences de codage/protocole entre TAPO (TP-Link) et Shelly

TP-Link Tapo

Protocole et écosystème

  • Utilise l'API propriétaire Tapo/Kasa de TP-Link
  • Communication via TP-Link Cloud (compte obligatoire à la création)
  • Protocole local basé sur du chiffrement AES avec échange de clés (handshake spécifique)
  • API non officiellement documentée publiquement (nécessite du reverse engineering)

Intégration/programmation

  • Bibliothèques communautaires : PyP100, python-kasa, tapo-python
  • Nécessite souvent l'authentification par identifiants Tapo (email/mdp du compte cloud)
  • Format des requêtes : JSON-RPC sur HTTPS avec chiffrement des payloads
# Exemple simplifié avec python-kasa
from kasa import SmartPlug
plug = SmartPlug("192.168.1.100")
await plug.turn_on()

Shelly

Protocole et écosystème

  • API REST/HTTP native et ouverte, bien documentée officiellement
  • Supporte aussi MQTT et CoAP nativement
  • Fonctionne sans cloud obligatoire (contrôle 100% local possible)
  • Gen1 (HTTP simple) vs Gen2/Gen3 (RPC JSON via WebSocket/HTTP)

Intégration/programmation

  • Pas besoin de bibliothèque tierce complexe : simples requêtes HTTP
# Gen1 - très simple
import requests
requests.get("http://192.168.1.101/relay/0?turn=on")

# Gen2+ - RPC JSON
requests.post("http://192.168.1.101/rpc", json={
    "id": 1, "method": "Switch.Set", 
    "params": {"id": 0, "on": True}
})

Tableau comparatif

Critère Tapo Shelly
Ouverture API Fermée/propriétaire Ouverte, documentée
Cloud obligatoire Oui (au setup) Non
Chiffrement local AES complexe HTTP simple (option auth)
Protocoles Propriétaire TP-Link HTTP, MQTT, CoAP, WebSocket
Facilité intégration Home Assistant Bonne (intégration officielle) Excellente (native, très mature)
Documentation dev Communautaire uniquement Officielle + communautaire

En résumé

  • Shelly = plus simple à coder, standards ouverts, idéal pour du DIY/domotique avancée
  • Tapo = plus fermé, nécessite du reverse engineering ou bibliothèques tierces, mais très bien intégré à l'écosystème TP-Link/Kasa

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   1 membre est en ligne

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.