Commit 57a05412 authored by David M's avatar David M

V3.0 toujours...

parent 4083b4d9
......@@ -2,6 +2,11 @@
Il s'agit d'un petit projet de monitoring photovoltaique pour matériel Victron compatible Ve.direct particulièrement adapté pour les installations autonômes. Il permet une vue "en direct" et un export de l'historique vers [emoncms](https://openenergymonitor.org/emon/emoncms) (une branche d'[OpenEnergyMonitor project](http://openenergymonitor.org)).
Démonstration :
* Interface de visualisation / monitoring : http://demo.zici.fr/PvMonit/
* Interface de conception des scripts pour la gestions du surplus électrique : http://demo.zici.fr/PvMonit/domo-edit-script.php
![Screenshot PvMonit](http://david.mercereau.info/wp-content/uploads/2016/11/banPvMonit.jpeg)
Exemple d'usage de PvMonit : je dispose d'un RaspberryPi, mes appareils Victron (MPTT, BMV) sont connectés avec des câbles VE.Direct. PvMonit est installé sur ce RaspberryPi et me permet :
......@@ -19,14 +24,34 @@ PvMonit support tout le matériel Victron compatible Ve Direct :
- SmartSolar MPPT 250/100, 150/100*, 150/85*, 75/15, 75/10, 100/15, 100/30, 100/50, 150/35, 150/100 rev2, 150/85 rev2, 250/70, 250/85, 250/60, 250/45, 100/20, 100/20 48V, 150/45, 150/60, 150/70, 250/85 rev2, 250/100 rev2"
- Phoenix Inverter 12V 250VA 230V*, 24V 250VA 230V*, 48V 250VA 230V*, 12V 375VA 230V*, 24V 375VA 230V*, 48V 375VA 230V*, 12V 500VA 230V*, 24V 500VA 230V*, 48V 500VA 230V*, 12V 250VA 230V, 24V 250VA 230V, 48V 250VA 230V, 12V 250VA 120V, 24V 250VA 120V, 48V 250VA 120V, 12V 375VA 230V, 24V 375VA 230V, 48V 375VA 230V, 12V 375VA 120V, 24V 375VA 120V, 48V 375VA 120V, 12V 500VA 230V, 24V 500VA 230V, 48V 500VA 230V, 12V 500VA 120V, 24V 500VA 120V, 48V 500VA 120V, 12V 800VA 230V, 24V 800VA 230V, 48V 800VA 230V, 12V 800VA 120V, 24V 800VA 120V, 48V 800VA 120V, 12V 1200VA 230V, 24V 1200VA 230V, 48V 1200VA 230V, 12V 1200VA 120V, 24V 1200VA 120V, 48V 1200VA 120V
### Commander / soutenir le projet
## Service / Commander / soutenir le projet
### Téléchargé prêt à l'emploi
Télécharger [raspbian](https://www.raspberrypi.org/downloads/raspbian/) + PvMonit d'installé prêt à l'emploi. Il n'y a plus qu'a copier le tout sur une carte SD.
Note : Cette version faite pour être installé sur un Raspbery Pi et pour être connecté avec du matériel Victron par câble USB ve.direct (découvert automatiquement)
### Livré sur mesure
Pour soutenir le projet vous pouvez faire un don à l'auteur parce que ça représente des centaines et des centaines d'heures de travail : https://david.mercereau.info/soutenir/
Vous pouvez aussi vous commandez un raspbery pi avec PvMonit tout prêt à l'emploi : https://david.mercereau.info/pvmonit/#shop sur mesure, ça permet de soutenir le projet.
### Changelog
### Service cloud
Pour 15€/ans un service de cloud est à votre disposition. L'interface PvMonit est exporté sur un serveur distant ce qui permet son accès depuis n'importe quel ordinateur connecté a Internet.
* 2 niveau de mot de passe son possible pour la connexion au service
* Si vous utilisez la domotique pour le surplus d'énergie vous pouvez activer ou désactiver les relais à distance
## Changelog
* V3.0 (04/2020)
* Intégration de [Blockly](https://developers.google.com/blockly/) pour la conception des scripts de gestion du surplus électrique / domotique
* Service de cloud permet un export de vos données temps réel sur une interface accessible depuis internet (même si vous êtes derrière un routeur xG)
* V2.1 (03/2020)
* Changement structurelle pour le passage par un daemon
* Prise de main à distance possible
......@@ -42,11 +67,11 @@ Vous pouvez aussi vous commandez un raspbery pi avec PvMonit tout prêt à l'emp
* Support câble Ve.direct USB
* Export vers EmonCMS
### Auteur
## Auteur
- David Mercereau [david #arobase# mercereau #point# info](http://david.mercereau.info/contact/)
### Support
## Support
Le support se fait par ici : https://framagit.org/kepon/PvMonit/issues
......@@ -61,7 +86,7 @@ Lancer l'action qui ne fonctionne pas et envoyez le contenu nouvellement apparu
Dans tout les cas, dans une demande de support il faut du détail (image/schéma d'installation/log...), le plus de détail possible
### License BEERWARE
## License BEERWARE
Tant que vous conservez cet avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez me payer une bière en retour.
......
......@@ -188,7 +188,7 @@ www:
domo: false # Enable domo on web interface ?
domoRefreshTime: 5 # Refresh time domo in second
domoPassword: false # Domo password in MD5 - http://www.passwordtool.hu/md5-password-hash-generator
domoEdit: false # Script edit on web /domo-edit-script.php page
domoEdit: true # Script edit on web /domo-edit-script.php page
domoEditPassword: false # DomoEdit password in MD5 - http://www.passwordtool.hu/md5-password-hash-generator
help: false # Active l'assistance
domoEditExampleDir: /opt/PvMonit/domo/relay.script.d/example
......
# PvMonit Domotique - Ou comment utilisé le surplus d'une installation solaire autonome
Article / vidéo lier à cet module domotique :
Article / vidéo lier à ce module domotique :
* https://david.mercereau.info/?p=5703
* https://vimeo.com/385514728
**Prés-requis: programmation PHP sommaire**. En effet pour le moment il n'y a pas d'interface graphique pour programmer des évènement sur les relais, il faut donc coder un peu en PHP pour s'en sortir...
**Prés-requis: être un peu matheux sinon avoir des bases en programmation sommaire**. En effet pour programmer des évènement sur les relais, il faut soit coder en PHP, soit utiliser l'interface simplifié blockly (démonstration ici : http://demo.zici.fr/PvMonit/domo-edit-script.php) Des scripts d'exemples à votre disposition vous pouvez vous en inspiré.
## Câblage / Matériel
......@@ -150,9 +150,12 @@ systemctl start pvmonit
La configuration ce fait dans le même fichier que pvmonit /opt/PvMonit/config.yaml, vous avez une section "domo".
Ensuite il vous faut faire les scripts qui correspondent à vos usages, c'est en PHP que ça ce joue. Les scripts sont contenu dans /opt/PvMonit/domo/relay.script.d/NUMEROduRELAIS.php
## Créer vos scripts / ordres pour déclencher les relai
Un script exemple est présent avec toutes les fonctionnalités possibles : https://framagit.org/kepon/PvMonit/blob/master/domo/relay.script.d/ID.php.exemple
Ensuite il vous faut faire les scripts qui correspondent à vos usages. 2 possibilités pour ça :
* Ecrire du code PHP. Les scripts sont contenu dans /opt/PvMonit/domo/relay.script.d/NUMEROduRELAIS.php vous pouvez lire /opt/PvMonit/domo/relay.script.d/README.md
* Utiliser l'interface simplifié blockly (démonstration ici : http://demo.zici.fr/PvMonit/domo-edit-script.php) Des scripts d'exemples à votre disposition vous pouvez vous en inspiré. Vous pouvez l'attendre avec l'adresse http://votreraspbery/domo-edit-script.php
## Pour interagir avec d'autres scripts maisons
......
<?php
// Mod :
// - 0 : Off forcé (action de l'utilisateur, ne peut être changé par les scripts)
// - 1 : Off automatique (paramètre de base)
// - 2 : On automatique (allumé par les scripts
// - 3 : On forcé (action de l'utilisateur, ne sera ne peut être changé par les scripts)
// Etat :
// - 0 : Relai éteint
// - 1 : Relai allumé
/*
$thisId : renvoi l'ID du relai
$thisEtat : renvoi l'état de ce relai
$thisMod : renvoi le mod de ce relai
relayEtat[x] : x = id d'un relai, renvoi l'état de ce relai
relayMod[x] : x = id d'un relai, renvoi le mod de ce relai
$data[nom] : A configurer dans le config.yaml (domo / valueUse)
$data['SOC'] : % de batterie
$data['P'] : puissance instantané (négatif ou positif)
$data['PPV'] : production solaire
$data['CS'] : mode du régulateur (float, abs...)
relayLastUp($idRelai) : retourne la date (timestamp) du dernier allumage de l'ID passé en paramètre
relayLastUpAuto($idRelai) : retourne la date (timestamp) du dernier allumage automatique de l'ID passé en paramètre
relayLastDown($idRelai) : retourne la date (timestamp) de la dernière extinction de l'ID passé en paramètre
relayUpToday($thisId) : retourne true si le relai à déjà été allumé ce jour
relayUpDownToday($thisId) : retourne true si le relai à déjà été allumé puis éteind ce jour
timeUpMin($thisId, '200') : retourne true si le temps minimum (en seconde) n'est pas encore écoulé depuis l'allumage
timeUpMax($thisId, '200') : inverse de timeUpMin
MpptAbsOrFlo($data['CS']) : retourne true si le régulateur est en Float ou en Absorption
MpptFlo($data['CS']) : retourne true si le régulateur est en Float
$return['log'] : Indique un log en retour de ce script (null si pas de log)
$return['mod'] : Indique le nouveau mod qu'impose le script
$return['mod'] = $thisMod si pas de changement
Déplacé dans le README.md du même répertoire
*/
?>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment