Fhem

Dans le forum Domotique - par jcoenen le 9 Octobre 2015

  1. mesnirmou

    mesnirmou 45 ans, Luxembourg

    C'est votre routine! Remplir une balneo prend plus de temps. Des fois j'aime me relaxer un peu avant d'attaquer une journée de travail, le rendement s'en ressent à chaque fois. ... du coup tout est programmé à l'avance, même la machine à infusion pour une tisane relaxante, quand le réveil sonne je plonge dans ma baignoire et je me relaxe. Une vingtaine de minute de sommeil de gagner plus le confort procuré, et le plaisir, c'est utile aussi.

    Et puis les oubli de baignoires se remplissant n'est pas une légende et les dégâts que sa peut causer sont des fois très sévères.

    Les défaillance de capteur!
    Notre vie tient souvent à des capteurs, voitures, transport... On sait que dans certaines situations, qui nous paraissent banales, il suffit juste la défaillance d'un capteur pour que tout bascule.. et je sais de quoi je parle. Il faut juste savoir mettre les bons en s'assurant pour les points où le risque est important de mettre une sécurité voir deux supplémentaire, créer les routines comportementaux qui vont avec, dans le milieu industriel on appelle ça des procédures, pour palier à d’éventuelles défaillances.
    La domotique est utile :
    mais pas que! quand je regarde un film, ou écoute de la musique(on peut en discuter de l'utilité), j'éprouve du plaisir à regarder le film et je suis des fois émerveillé par des effets spéciaux à couper le souffle. Je suis aussi émerveillé par tout l'automatisme qui s'est déclenché chez moi pour préparer l'atmosphère au visionnage du film et la mise en route des équipements.
    Tenez! un habit c'est utile, dépensez 100 euros pour habit de marque alors qu'on aurait pu l'avoir pour 20 euros on se contentant d'une marque pas très connue, est ce utile? il y a surement le critère de qualité et durabilité, mais est ce tout? En écartant d'emblée le m as tu vu.
     
    mesnirmou , 28 Mars 2017
  2. moustic999

    moustic999 39 ans, Hainaut

    a la maison, comme nous partons et rentrons tard, les stores s'ouvrent et se ferment automatiquement en fonction du jour, de l'heure, des ephémérides et de la luminosité extérieure.

    parfois, la domotique c'est utilse et ca ne se voit pas.
    le chauffage est totalement automatique par piece. la piece au sud est moins chauffée que celle au nord... et pourtant la temperature ressentie est la meme....

    chaque lieu de passage s'eclaire automatiquement, si cela est necessaire. ca peut paraitre un detail, mais quel bonheur ...qd c'est en panne, on s'en rend vite compte.

    quand j'allume la télé, ou bien le simple fait d'etre dans la piece, fait baisser la ventilation de l'insert pour ne pas deranger avec le bruit.

    mon bouton de sonnette, joue une musique sur tout les sonos de la maison ;-)

    l'ouverture d'une fenetre met le chauffage en mode hors-gel pour cette piece...

    c'est a chacun d'avoir "sa" domotique qui correspond à ses besoins.
     
    moustic999 , 28 Mars 2017
  3. filou59

    filou59 France

    Pour en revenir a mes test sur un Raspberry PI2 et KNXD
    -Connection vers un Routeur KNX OK
    -Busware Pigator OK
    -Busware TUL OK
    -Interface USB Type Merten OK

    Pour le moment je me suis contenter de faire que des tests via ETS5 (Diagonistic + Programmation).
     
    filou59 , 28 Mars 2017
  4. filou59

    filou59 France

    mesnirmou : Un conseil pense a un systeme de surveillance sur la bonde, ou un systeme de mesure du niveau de l'eau qui pourrais te permettre de detecter que l'eau va direct dans le syphon . Ca tévitera de perdre quelque m3 d'eau le jour ou la bonde n'aura pas été fermé corectement
     
    filou59 , 28 Mars 2017
  5. mesnirmou

    mesnirmou 45 ans, Luxembourg

    bravo!
    Merci pour le conseil.
    d'autres idées:
    j'ai un compteur d'eau à impulsion relié au knx, en connaissant le volume de ma baignoire, je peux automatiser l’arrêt du remplissage, en connaissant le débit de mon mitigeur de remplissage, j'estime le temps du remplissage, en plus des 2 détecteur de niveau d'eau, en plus j'ai ça :
    https://www.jung.de/fr/online-catalogue/346732200/.
    en croisant toutes ces sécurités, estime que je peux envisager le projet avec des bases solides.
    Pour revenir à Fhem, vous utilisez dans dans quel configuration, est ce pour un but précis, avec quel techno?
     
    mesnirmou , 28 Mars 2017
  6. jcoenen

    jcoenen 57 ans, Liège

    FHEM est utilisé dans mon installation pour:
    1) interface de commande (via le module tablet UI), sur un raspberry avec écran tactile.
    2) interface multiprotocoles (KNX, X10, RF, DIO Chacon ...) ce qui permet de relier des appareils entre eux indépendemment de leur protocole interne).
    3) gestionnaire de processus et d'action logiques/intelligentes (calcul d'éphémérides ...)
    4) mise sur le bus KNX d'information venant d'autres appareils (sonde de température de piscine Oregon scientific, mesure de PAC ...).
    5) détection d'alarmes et envoit d'alertes vers smartphone (prowl, messages, mail)
    6) détection de présence (via bluetooth ou geofencing) et déclenchement d'action liées à la présence
    7) pour pouvoir bricoler

    En plus de fhem le même serveur a une interface knxweb2 pour un synoptique de la maison (via linknx, eibd/knxd), la chose est possible aussi via FHEM mais demande du temps pour la mise en oeuvre et le synoptique knxweb était déjà configuré.

    Au vu du prix (<100 €), de la flexibilité et des services disponibles pourquoi investir ailleurs.
     
    jcoenen , 29 Mars 2017
  7. moustic999

    moustic999 39 ans, Hainaut

    Ben perso j'en ai un peu le meme usage ... par contre ca m'interesserait bien si tu donnais quelque details de config de ces points la
    j'ai essayé la detection de presence via le wifi (ping) mais ce n'est pas concluant ( gsm ne repond pas aux ping qd il est en veille) et vu la taille de la maison et l'emplacement du RPi, le bluetooth n'est pas envisageable.

    pour les alarmes vie email et prowl, tu as fait comment ?
     
    moustic999 , 29 Mars 2017
  8. jcoenen

    jcoenen 57 ans, Liège

    Détection d'alarmes et broadcast de messages.

    J'utilise un trigger qui fait partir un petit script (oui c'est pas rocket science mais bon ça fonctionne) dès qu'un évènement est détecté, je viens aussi d'essayer le driver Telegram (bidirectionnel on peut donc répondre aux alarmes si besoin est).

    Exemple mon carillon d'entrée (Chacon DIO sans fil du Brico :confused:).

    Le device TRX_AC_0105131601 est reconnu par mon RFXcom et donc FHEM.

    Ensuite un notify

    def carillon notify TRX_AC_0105131601:all_on.* "/home/pi/bin/fhemprowl.pl "carillon" "On sonne a la porte principale" "0""


    Qui lance le script fhemprowl voir ci dessous)

    Celui ci envoit le message au serveur prowl qui a son tour push le message vers mon iphone. En utilisant un clé, le message arrive a son destinataire identifié par le clé.


    De la même manière on peut utiliser un BOT Telegram (le driver est inclu dans FHEM)

    def carillon_bot notify TRX_AC_0105131601:all_on.* set Telegram message On sonne à la porte

    Telegram étant le device "Telegram" qui est associé au BOT (via un token)



    L'un ou l'autre, bof, je préfère prowl (moins de manip sur le smart phone), par contre avec telegram on peut renvoyer un message a FHEM qui pourra en faire quelque chose, et donc au niveau réactivité on ne peut pas faire mieux.

    Pour l'instant j'ai le carillon, le lecteur d'empreinte (ouverture de porte, je sais qui rentre et à quelle heure, merci papa), les détecteurs de fumée (Chacon DIO via RFXcom) et la Pompe à chaleur.


    #!/usr/bin/perl -w
    # Script to communicate with the Prowl server.
    # parameters
    # first: event (eg. doorbell, smokealert
    # second: Message to send
    # third: priority (-2..2)
    #

    use strict;
    use DateTime;
    use LWP::UserAgent;

    my %options = ();

    my $message = $ARGV[1];

    open (my $fh, ">>", "/tmp/prowl.log");

    $options{'apikey'}="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    $options{'application'}="FHEM";
    $options{'event'}=$ARGV[0];
    $options{'notification'}=$message;
    $options{'priority'}=$ARGV[2];
    $options{'url'}="";

    my $providerKeyString="";

    my ($userAgent, $request, $response, $requestURL);
    $userAgent = LWP::UserAgent->new;
    $userAgent->agent("ProwlScript/1.2");
    $userAgent->env_proxy();

    $requestURL = sprintf("https://prowlapp.com/publicapi/add?...&event=%s&description=%s&priority=%d&url=%s%s",
    $options{'apikey'},
    $options{'application'},
    $options{'event'},
    $options{'notification'},
    $options{'priority'},
    $options{'url'},
    $providerKeyString);

    my $dtime = DateTime->now;

    print $fh $dtime->ymd('/')." ".$dtime->hms(':')." ".$requestURL."\n";

    $request = HTTP::Request->new(GET => $requestURL);

    $response = $userAgent->request($request);

    print $fh $dtime->ymd('/')." ".$dtime->hms(':')." ".$response."\n";
     
    jcoenen , 29 Mars 2017
  9. jcoenen

    jcoenen 57 ans, Liège

    Détection de présence:

    Premier essai avec bluetooth, détection des smartphone via presenced et collectord (2 raspberry avec dongle BT dans la maison), ça a bien fontionné et ensuite update IOS et c'est devenu intermittent et donc plus trop fiable.

    Deuxième essai: geofancing, une appli sur le smartphone envoit un message sur une page donnée, qui est une entrée WEB de FHEM du type geofancy, le téléphone déclare être entré ou sorti dans la zone définie dans l'appli ce qui permet de mettre en route certaines action via un notify. Et là je dois dire que ça fonctionne pas mal.

    En sortant le notify coupe les lampes, la radio et met la VMC sur absent, et en rentrant il allume le hall, la radio et met la VMC sur 1. (la Radio c'est un module fait maison qui pilote un iTunes, pour l'instant je regarde le système forked-daap qui permet l'usage des bornes airplay, histoire de tout mettre sur une seule machine du genre un raspberry avec un écran tactile (ce qui facilitrait les backup).
     
    jcoenen , 29 Mars 2017
  10. mesnirmou

    mesnirmou 45 ans, Luxembourg

    C'est intéressant tout ça. Merci pour le partage!
     
    mesnirmou , 29 Mars 2017
  11. jcoenen

    jcoenen 57 ans, Liège

    Pour info BusWare a une interface Bus KNX Bluetooth (49 €) qui s'intègre avec knxd et un raspberry Pi 3 par exemple.

    Inconvénient, des délais, dus au Bluetooth apparaissent et le device ne peut donc être utiliser pour la programmation (ETS). Mais comme interface FHEM c'est pas mal.

    Le TPUART existe toujours (USB).

    Et il y a aussi le Pigator, une interface qui permet l'adjonction de plusieurs modules au pi sans consommer les ports USB..

    Pigator 1 port ou 4 ports: module de connection.

    Modules disponibles:

    RF 868 ou 432 MHz
    TPUART (EIB/KNX)
    ENOcean
    Zwave
    One Wire
    RS485

    Il existe aussi un boitier DIN rail pour l'intégration dans l'armoire électrique du raspberry Pi et d'un module pigator. Ce qui pemet d'intégrer le serveur et l'interface dans l'armoire.

    Le pigator communique avec raspberry Pi via l'interface série du GPIO (ttyAMA0).
     
    Dernière édition: 5 Avril 2017
    jcoenen , 5 Avril 2017
  12. Bonjour Jean-Pierre et les autres.

    Dans FHEM je remonte un objet ENOCEAN qui me donne la température et l'humidité.

    Je souhaiterai renvoyer ces valeurs vers mon automate IPX800

    à l'époque Jean-Pierre m'avait dit de faire ça

    #!/usr/bin/python

    import socket
    import string
    import json
    import urllib2
    import ConfigParser
    from VMC import VMC

    config = ConfigParser.RawConfigParser()
    config.read('/etc/VMC/VMC.ini')


    # Create a TCP/IP socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # Connect the socket to the port where the server is listening
    server_address = (string.replace(config.get('client','server'),'"', ''), int(string.replace(config.get('server','port'),'"' ,'')))
    sock.connect(server_address)
    #print 'requesting data '



    rcvd=VMC().gettemp(sock)
    #print json.dumps(rcvd.objet,sort_keys=True,indent=4)

    Texter=str(float(rcvd.objet['data']['temperature']['Tairneuf']))
    #print Tneuf

    #print 'closing socket'
    sock.close()

    url = 'http://192.168.1.70/api/xdevices.json?SetVA03='+Texter
    #print url

    response = urllib2.urlopen(url)
    #lecture de la reponse du serveur http

    html = response.read()
    #print html

    Je devine la fin mais le début o_O
     
    nodarii , 10 Avril 2017
  13. jcoenen

    jcoenen 57 ans, Liège

    Ce script tel quel va lire une valeur de température de la VMC et renvoit cette valeur vers l'IPX (?) viia un API http.

    Dans le cas où fhem a un objet qui donne une valeur qui doit être renvoyée vers un autre appareil, j'utiliserais plutot le module httpmod, celui ci permet d'interfacer un API HTTP.

    Quelle est la définition de l'objet enOcean ?

    Quel est exactement l'URL de l'IPX

    du genre http://192.168.1.70/api/xdevices.json?SetTemperature=20.3' ???
     
    jcoenen , 11 Avril 2017
  14. Oui l'URL de l'IPX est bien http://192.168.1.70/api/xdevices.json?SetVA03=20.3

    ce qui est affiché dans FHEM:

    roomSensorControl.01
    EnO_sensor_01A9280B
    T: 23.5 H: 38 SP: 0 SW: 0

    La définition dans FHEM.cfg:
    # Declaration sonde
    define EnO_sensor_01A9280B EnOcean 01A9280B
    attr EnO_sensor_01A9280B IODev TCM_ESP3_0
    attr EnO_sensor_01A9280B eep A5-04-01
    attr EnO_sensor_01A9280B manufID 046
    attr EnO_sensor_01A9280B room EnOcean,VMC
    attr EnO_sensor_01A9280B subType roomSensorControl.01


    define FileLog_EnO_sensor_01A9280B FileLog ./log/EnO_sensor_01A9280B-%Y.log EnO_sensor_01A9280B
    attr FileLog_EnO_sensor_01A9280B logtype text
    attr FileLog_EnO_sensor_01A9280B room EnOcean,VMC
     
    nodarii , 11 Avril 2017
  15. jcoenen

    jcoenen 57 ans, Liège

    OK je regarde ça ...
     
    jcoenen , 11 Avril 2017
  16. jcoenen

    jcoenen 57 ans, Liège

    Au fait dans l'API de l'IPX quels sont les paramètres a mettre a jour avec les valeur du capteur enOcean ?

    SetVA03 pour la température ?

    pour l'humidité ?
     
    jcoenen , 11 Avril 2017
  17. SETVA04 sera la température
    et SETVA05 sera l'humidité
    (il faudra peut être que je concatène pour avoir un nombre entier comme pour la VMC)
    à l'heure actuelle j'envoie la température reprise par la VMC dans l'API de l'IPX800v4 pour incliner les BSO. Sauf que c'est une température moyenne globale. Je voudrais me servir maintenant de la température du capteur Enocean pour éviter de monter trop en température ;)
    Sans titre.JPG
     
    nodarii , 11 Avril 2017
  18. jcoenen

    jcoenen 57 ans, Liège

    Bon alors je pense que la marche a suivre est la suivante:

    Définir un HTTMOD IPX800 avec les attributs (URL) pour les variables de température et humidité.

    Definir un notify sur le capteur enOcean, de telle sorte que lorsque le capteur envoit la température, le notify envoit cette temperature sur l'IPX.

    Pareil pour l'humidité

    Regardes sur ta page FHEM il y a une room IPX800 avec les objets ci dessu déjà définis (;))

    Je suppose que cela doit fonctionner, mais comme je n'ai pas accès a l'IPX800 ...

    Pour vérifier que l'accès a l'IPX fonctionne il suffit de faire

    set IPX800 temperature 23
    ou
    set IPX800 humidite 38

    et voir s'il réagit.

    On peut aussi lire les infos de l'IPX (json), mais ne connaissant pas cet appareil ...

    Dis moi si cela fonctionne.

    Dans la doc API IPX800 V4, ils indiquent que l'URL doit être
    http://IPX800_V4/api/xdevices.json?key=apikey&

    La key est nécessaire ???

    Je vois les requêtes dans le log mais appremment elles ne passent pas.
    Dans la requête je n'ai pas défini le header (mais est-il nécessaire ?)
    il faudrait faire une requête manuelle et voir ce qu'elle doit effectivement contenir et la reproduire avec FHEM httpmod
     
    Dernière édition: 11 Avril 2017
    jcoenen , 11 Avril 2017
  19. jcoenen

    jcoenen 57 ans, Liège

    Juste pour les autres "rawètants", l'affaire est conclue, le httpmod fonctionne, la mise a jour des valeurs de l'IPX800 est effectuée dès que le capteur enOcean met à jour les valeur sur FHEM (via un notify).
     
    jcoenen , 12 Avril 2017
  20. Merci jcoenen!
     
    nodarii , 12 Avril 2017
    jcoenen aime ça.