telemetry
Quoi de neuf

Contrôler sa VMC StorkAir / ComfoAir / zehnder via sa domotique

  • Forum Electricité - Domotique
  • Auteur du sujet Auteur du sujet sebcbien
  • Date de début Date de début
  • #1 681
SOCAT

socat doit être lancé mais il faut respecter la configuration VMC.ini

Soit ta configuration:

[VMC]
device = /dev/ttyUSB0
[server]
bind =
port = 10000 #port de base pour les clients, le comfosense est lui sur port de base + 1 donc 10001
[control]
port = 10002
[client]
server = 127.0.0.1
[socat]
pty = /tmp/ttyVMC
[debug]
log = /var/log/VMClog.log
level = 3

socat doit donc être lancer sur la machine du serveur comme ceci

SOCAT pour FHEM
socat PTY,mode=666,link=/tmp/ttyVMC TCP-CONNECT:127.0.0.1:10000

SOCAT pour comfosense

le USB sur lequel est branché le comfosense ??? (ne peut pas être celui sur lequel est branché la VMC !)

socat /dev/ttyUSB?,raw,echo=0,b9600 tcp4-connect:127.0.0.1:10001

La question est quel est la configuration matérielle ?
2 convertisseurs USB/série ou
1 convertisseur et le GPIO du raspberry (ttyAMA0) ?

Où sont branchés la VMC et le comfosense.


 
  • #1 682
Capture d’écran 2019-01-13 à 12.11.01.png

Le résultat des pages web suivant la procédure dans l'antépénultième post.

Le machin <DOCTYPE C! c'est le script meteo.cgi qui doit donner la température extérieure par une lecture d'un thermomètre extérieur ou une station météo ...
 
  • #1 683
Pour le truc moche sur station météo, changer meteo.cgi en rajoutant un print après le content-type ...

En bref

#!/usr/bin/python

import
json
import socket
import httplib
print "Content-Type: text/html"
print
# print "-" in case no sensor is implemented
print
"-"

Capture d’écran 2019-01-13 à 12.31.17.png


C'est plus joli.
 
  • #1 684
Donc, juste pour ma procédure, avant d'installer ton script, il faudrait faire l'install d'apache ?

cp *html /var/www/html # pages web dans serveur web
cp -r json* /var/www/html/ # librairies javascript pour pages web
cp *.cgi /var/lib/cgi-bin # code cgi dans le directory d'execution
cp VMC.py /usr/lib/python2.7 # librairie python nécessaire pour les programmes

root@raspberrypi:/home/pi/raspVMC-master# cp *.cgi /var/lib/cgi-bin
cp: target '/var/lib/cgi-bin' is not a directory

Je dois surement encore installer
Et sinon, est-ce que c'est normal ? (en gras)

pi@raspberrypi:~$ sudo systemctl status VMCserver
● VMCserver.service - VMC python server
Loaded: loaded (/etc/systemd/system/VMCserver.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2019-01-13 19:22:18 GMT; 2s ago
Main PID: 5795 (server.py)
CGroup: /system.slice/VMCserver.service
├─5795 /usr/bin/python /home/pi/raspVMC-master/server.py
└─5800 socat PTY,mode=666,link=/tmp/ttyVMC TCP-CONNECT:127.0.0.1:10000
Jan 13 19:22:18 raspberrypi systemd[1]: Started VMC python server.
Jan 13 19:22:19 raspberrypi server.py[5795]: Starting NEW VMC server on device/dev/ttyAMA0, Debug to:/var/log/VMClog.log, running on IP address:('', 10000)
Jan 13 19:22:19 raspberrypi server.py[5795]: Starting VMC server for ConfoSense on IP address:('', 10001) port 10001
Jan 13 19:22:19 raspberrypi server.py[5795]: Starting VMC server for Control on IP address:('', 10002) port 10002
Jan 13 19:22:19 raspberrypi server.py[5795]: socat started on /tmp/ttyVMC, PID:5800
 
Dernière édition:
  • #1 685
La question est quel est la configuration matérielle ?
2 convertisseurs USB/série ou
1 convertisseur et le GPIO du raspberry (ttyAMA0) ?

J'ai un convertisseur USB/DB9 sur le ttyUSB0 (VMC) et un sur le GPIO (comfosense)
 
  • #1 686
as tu fait sudo apt-get apache2 ?

Ok alors le socat du comfosense doit pointer vers ttyAMA0
 
  • #1 687
as tu fait sudo apt-get apache2 ?

Ok alors le socat du comfosense doit pointer vers ttyAMA0
oui oui, biensur

pi@raspberrypi:~$ sudo su
root@raspberrypi:/home/pi# apt-get install apache2

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
Suggested packages:
www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom openssl-blacklist
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,953 kB of archives.
After this operation, 6,275 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
 
  • #1 688
Et après le /usr/lib/cgi-bin n’existe toujours pas ?
 
  • #1 689
/usr/lib/cgi-bin oui
/var/lib/cgi-bin non

faute de frappe dans ton post ?
 
  • #1 690
arghhhhhhh :D:blush:

Exact fôte de frippe, les cgi sont dans /usr/lib/cgi-bin

mes plus plates excuses ....
 
Dernière édition:
  • #1 691
ca arrive même aux meilleurs ;-)
 
  • #1 692
ok ça a fonctionné, par contre pq chaque fois que je rédémarre le service VMSserver, le socat ne redémarre pas ?

c'est pas inclus ?
 
  • #1 693
Ok ai été voir le code,

le serveur démarre le socat pour fhem, celui du comfosense est démarré manuellement
 
  • #1 694
Ok merci, ceci explique cela :-)

Et dernière chose, mon comfosense fonctionne mais affiche tjs « COMM ERROR »

Une idée ou je dois regarder ?
Un dmesg ?
 
  • #1 695
Comm error = pas de connection.
quelques pistes


1) test connection serveur VMC via un client ligne de commande ou web ok ?

2) socat comfosense (sur ttyama0) actif ?

3) vérifier droits d’acces sur ttyama0 (ls -l /dev/ttyAMA0) rw pour tous

4) check vmclog pour vérifier que socat se connecte

5) mettre debug a 8 et voir les messages dans le log
 
  • #1 696
Bon je viens de re-vérifier :

1. USB PI => Convertisseur USB/DB9 => Comfosense
2. GPIO => DB9 VMC

je fais les autres check
 
  • #1 697
OK c'est bon côté configuration, si la partie client fonctionne on sait déjà que le serveur est OK et que le problème se situe au niveau du GPIO/socat
 
  • #1 698
bon j'avais oublié de rebrancher un des Ground :oops:

par contre je vais refaire mon cable qui va au DB9 de la VMC car je sens bien que ce que j'avais fait à l'époque ne tient pas bien et donc il doit y avoir un soucis de contact
 
  • #1 699
par contre le socat, je l'ai lancé avec le user PI, mieux de le lancer en sudo ?

je remet mon script qui le relance toutes les minutes ou idéalement il faut le transformer en service ?
 
  • #1 700
bon j'avais oublié de rebrancher un des Ground :oops:

par contre je vais refaire mon cable qui va au DB9 de la VMC car je sens bien que ce que j'avais fait à l'époque ne tient pas bien et donc il doit y avoir un soucis de contact

C'est pas glop ça :confused: et expliquerait beaucoup de choses.

socat avec root ça ne mange pas de pain, il faut que /de/ttyAMA0 soit en rw pour tous pour fonctionner avec le user pi, avec root c'est toujours bon.

Le mieux c'est un service, car on peut alors spécifier le redémarrage automatique en cas de crash

Je vais voir si je n'en ai pas un qui traîne pour ça, sur mon comfofond c'est encore une wheezy et c'est inittab qui gère la chose.
 

Sujet semblables

Réponses
10
Affichages
988
Nudji
Réponses
·
Affichages
169
Maka
Réponses
4
Affichages
389
Tchotto
Réponses
6
Affichages
1K
ironglove

Nos articles

On a aimé dans le forum

Retour
Haut