iero / Rika-Stove

Use FireNet adapter for speaking with your Rika stove
Apache License 2.0
10 stars 1 forks source link

Some issues using it #1

Open MoBOatGVA opened 5 years ago

MoBOatGVA commented 5 years ago

I'm getting the following error message connection the website and I was wondering if you already fixed this issue or... I'm the only one facing it.

Thanks

`Traceback (most recent call last): File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/connectionpool.py", line 600, in urlopen chunked=chunked) File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/connectionpool.py", line 343, in _make_request self._validate_conn(conn) File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/connectionpool.py", line 839, in _validate_conn conn.connect() File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/connection.py", line 344, in connect sslcontext=context) File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/util/ssl.py", line 344, in ssl_wrap_socket return context.wrap_socket(sock, server_hostname=server_hostname) File "/usr/lib/python3.5/ssl.py", line 385, in wrap_socket _context=self) File "/usr/lib/python3.5/ssl.py", line 760, in init self.do_handshake() File "/usr/lib/python3.5/ssl.py", line 996, in do_handshake self._sslobj.do_handshake() File "/usr/lib/python3.5/ssl.py", line 641, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/srv/homeassistant/lib/python3.5/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/connectionpool.py", line 638, in urlopen _stacktrace=sys.exc_info()[2]) File "/srv/homeassistant/lib/python3.5/site-packages/urllib3/util/retry.py", line 398, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.rika-firenet.com', port=443): Max retries exceeded with url: /web/login (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)'),))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "rika2.py", line 208, in stove = connect(client, url_base, url_login, url_stove, user, pwd) File "rika2.py", line 13, in connect r = client.post(url_base+url_login, data) File "/srv/homeassistant/lib/python3.5/site-packages/requests/sessions.py", line 581, in post return self.request('POST', url, data=data, json=json, kwargs) File "/srv/homeassistant/lib/python3.5/site-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/srv/homeassistant/lib/python3.5/site-packages/requests/sessions.py", line 646, in send r = adapter.send(request, **kwargs) File "/srv/homeassistant/lib/python3.5/site-packages/requests/adapters.py", line 514, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='www.rika-firenet.com', port=443): Max retries exceeded with url: /web/login (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)'),)) `

iero commented 5 years ago

Hello

I rented my house, so I cannot access to the stove actually.

Did you tried to update the firmware (sorry the mail I got was in french but google translate may help you) :

Dans le but d'assurer une connexion informatique sûre entre votre poêle RIKA et nos serveurs, la communication de l'option RIKA-Firenet est protégée par un cryptage certifié SSL.   Pour pouvoir continuer à assurer cette norme de sécurité élevée à l'avenir, il est nécessaire de renouveler le certificat SSL avant le 31/12/2018.   L'actualisation du certificat SSL est réalisée au moyen d’une simple mise à jour de votre module Firenet.   Voici comment vous devez procéder :   1) Télécharger et installer le logiciel de mise à jour Firenet depuis la page d’accueil RIKA (lien ci-dessous) 2) Démarrer le logiciel de mise à jour Firenet 3) Brancher le module Firenet sur l'interface USB 4) Démarrer la mise à jour 5) Une fois la mise à jour terminée, le module Firenet peut être immédiatement réutilisé   Le logiciel de mise à jour Firenet est à votre disposition sous : http://www.rika.at/fr/RIKA_firenet/ (seulement pour Windows)   Si la mise à jour n’est pas réalisée avant le 31.12.2018, il sera impossible de continuer à profiter de votre FIRENET.   En cas de besoin, vous pouvez vous rapprocher de votre revendeur RIKA.   L’équipe RIKA

MoBOatGVA commented 5 years ago

Merci beaucoup pour votre réponse. Je parle français, je suis à Genève en Suisse ;o)

Merci pour ce lien, je n’avais pas pensé que les mises à jour du firenet étaient « publique » et c’est une bonne chose. Mon poêle ayant été installé il y a une semaine, j’espère avoir la dernière mise à jour mais... sans doute pas.

Par contre, je ne vois pas comment cela peut résoudre mon problème SSL avec le script étant donné que la connexion se fait sur rike-firenet.com.

Est-ce que le site internet ne fais office que de passerelle et redirige la requête sur le Firenet d’où la nécessité de la mise à jour de la clé mais dans ce cas, pourquoi n’ai-je pas les soucis avec un browser ?

J’avoue être un peu perplexe mais je vais tenter et, dans tous les cas, une mise à jour n’est jamais mauvaise (enfin, faux, elle peut l’être 😊)

Hmmm… je vais tester cela ce soir à mon retour pour voir.

;o)

From: iero [mailto:notifications@github.com] Sent: mercredi, 12 décembre 2018 02:30 To: iero/Rika-Stove Rika-Stove@noreply.github.com Cc: MoBOatGVA shadock@hotmail.com; Author author@noreply.github.com Subject: Re: [iero/Rika-Stove] Some issues using it (#1)

Hello

I rented my house, so I cannot access to the stove actually.

Did you tried to update the firmware (sorry the mail I got was in french but google translate may help you) :

`Dans le but d'assurer une connexion informatique sûre entre votre poêle RIKA et nos serveurs, la communication de l'option RIKA-Firenet est protégée par un cryptage certifié SSL.

Pour pouvoir continuer à assurer cette norme de sécurité élevée à l'avenir, il est nécessaire de renouveler le certificat SSL avant le 31/12/2018.

L'actualisation du certificat SSL est réalisée au moyen d’une simple mise à jour de votre module Firenet.

Voici comment vous devez procéder :

  1. Télécharger et installer le logiciel de mise à jour Firenet depuis la page d’accueil RIKA (lien ci-dessous)
  2. Démarrer le logiciel de mise à jour Firenet
  3. Brancher le module Firenet sur l'interface USB
  4. Démarrer la mise à jour
  5. Une fois la mise à jour terminée, le module Firenet peut être immédiatement réutilisé

Le logiciel de mise à jour Firenet est à votre disposition sous : http://www.rika.at/fr/RIKA_firenet/ (seulementhttp://www.rika.at/fr/RIKA_firenet/%C2%A0(seulement pour Windows)

Si la mise à jour n’est pas réalisée avant le 31.12.2018, il sera impossible de continuer à profiter de votre FIRENET.

En cas de besoin, vous pouvez vous rapprocher de votre revendeur RIKA.

L’équipe RIKA`

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1#issuecomment-446427231, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGj_JxSJsrnpF470idJqnQPZEiJeHXePks5u4FwHgaJpZM4ZOd2k.

MoBOatGVA commented 5 years ago

Rebonjour,

Ayant quelques minutes, j’ai trouvé une solution en désactivant la vérification du certificat…

J’ai ajouté après les « import » j’ai ajouté :

requests.packages.urllib3.disable_warnings()

ceci évite les messages d’avertissements relatifs à la non verification du certificate.

Ensuite, j’ai inséré une ligne avant l’appel de connexion (client.verify = False) :

client = requests.session() client.verify = False stove = connect(client, url_base, url_login, url_stove, user, pwd)

La connexion s’effectue maintenant correctement.

Concernant les éventuels problèmes de sécurité, j’avoue ne pas être très au clair, le certificat n’étant pas vérifié, il y a un risque. N’ayant pas les compétences nécessaires, je prendrai peut-être le temps plus tard.

From: iero [mailto:notifications@github.com] Sent: mercredi, 12 décembre 2018 02:30 To: iero/Rika-Stove Rika-Stove@noreply.github.com Cc: MoBOatGVA shadock@hotmail.com; Author author@noreply.github.com Subject: Re: [iero/Rika-Stove] Some issues using it (#1)

Hello

I rented my house, so I cannot access to the stove actually.

Did you tried to update the firmware (sorry the mail I got was in french but google translate may help you) :

`Dans le but d'assurer une connexion informatique sûre entre votre poêle RIKA et nos serveurs, la communication de l'option RIKA-Firenet est protégée par un cryptage certifié SSL.

Pour pouvoir continuer à assurer cette norme de sécurité élevée à l'avenir, il est nécessaire de renouveler le certificat SSL avant le 31/12/2018.

L'actualisation du certificat SSL est réalisée au moyen d’une simple mise à jour de votre module Firenet.

Voici comment vous devez procéder :

  1. Télécharger et installer le logiciel de mise à jour Firenet depuis la page d’accueil RIKA (lien ci-dessous)
  2. Démarrer le logiciel de mise à jour Firenet
  3. Brancher le module Firenet sur l'interface USB
  4. Démarrer la mise à jour
  5. Une fois la mise à jour terminée, le module Firenet peut être immédiatement réutilisé

Le logiciel de mise à jour Firenet est à votre disposition sous : http://www.rika.at/fr/RIKA_firenet/ (seulementhttp://www.rika.at/fr/RIKA_firenet/%C2%A0(seulement pour Windows)

Si la mise à jour n’est pas réalisée avant le 31.12.2018, il sera impossible de continuer à profiter de votre FIRENET.

En cas de besoin, vous pouvez vous rapprocher de votre revendeur RIKA.

L’équipe RIKA`

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1#issuecomment-446427231, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGj_JxSJsrnpF470idJqnQPZEiJeHXePks5u4FwHgaJpZM4ZOd2k.

antibill51 commented 4 years ago

Bonjour, Je vois que vous utilisez home assistant avec le firenet. Avez vous des conseils a ce sujet ? Je ne trouve pas grand chose sur internet.

Merci.

MoBOatGVA commented 4 years ago

Bonjour,

Vous cherchez quoi exactement ?

J'ai créé un script qui récupère les informations transmisent sur le Web (ilme semble, je dois vérifier).

La question principale est : que voulez-vous faire ?

Ensuite.. On regarde :)

Le firenet permet de transmettre les donnees sur le site puis, de là, on peut les récupérer, contrôler le poêle et faire toute sortes de choses. Mais je ne l'ai jamais tenté en direct.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 08.10.19 18:20 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Bonjour, Je vois que vous utilisez home assistant avec le firenet. Avez vous des conseils a ce sujet ? Je ne trouve pas grand chose sur internet.

Merci.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J37B6NW4JRNW55RIG3QNSXMDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAUYGMI#issuecomment-539591473, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6J2EJVECJZDIGAZ3TW3QNSXMDANCNFSM4GJZ3WSA.

antibill51 commented 4 years ago

Je signe demain pour l'installation d'un Rika domo équipé firenet. Actuellement je pilote le miens entièrement via home assistant et un esp8266, en envoyant ou non un contact sec, et en pilotant un potentiomètre digital pour fausser la température reçue par le poêle. Avec en plus le niveau du réservoir via un capteur a ultrasons, et donc ma consommation de granulés. Je chercherai a remplacer tout celà, pas forcément en local. Donc je cherche comment communiquer facilement, et dans les 2 sens, avec le firenet. Comment integres tu ton script a home assistant ? Merci

MoBOatGVA commented 4 years ago

J'ai créé un script python qui se lance toute les x minutes et qui récupère les informations sur internet. Je peux facilement alummer le poêle à distance ou gérer les paramètres. L'idée du capteur me tentait aussi. Le domo donne la consommation effectuée et tu peux aussi la calculer. Masi c'est moins "précis" que le capteur. J'ai des sondes ultrasons à la maison, faudrait que je me lance.

J'ai personnelement configuré, à ce jour, la mise en marche au moyen du thermomètre fourni. Cela me convient. J'ai acheté un ventilateur que je vais installer et piloter en fonction des températures. Ma maison possède un "demi" étage couvert alors la chaleur étant montante, je devrais arriver à créer un cycle d'air plus productif.

Nous avons installé le domo en fin décembre et je n'ai pas trop eu le temps de tout faire. L'hiver revient altos je vais my remettre.

Je peux te partager mes scripts (j'en utilise un pour ma chaudière sur le même principe).

Pour les détails, je dois me remettre dans la configuration. Tes demandes et mes besoins devraient être assez motivant :)

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 08.10.19 18:43 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Je signe demain pour l'installation d'un Rika domo équipé firenet. Actuellement je pilote le miens entièrement via home assistant et un esp8266, en envoyant ou non un contact sec, et en pilotant un potentiomètre digital pour fausser la température reçue par le poêle. Avec en plus le niveau du réservoir via un capteur a ultrasons, et donc ma consommation de granulés. Je chercherai a remplacer tout celà, pas forcément en local. Donc je cherche comment communiquer facilement, et dans les 2 sens, avec le firenet. Comment integres tu ton script a home assistant ? Merci

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6JYVX7XD3ASPEOFOCMTQNS2DFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU2PWA#issuecomment-539600856, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6J5NEVTGFSVVRWLUPADQNS2DFANCNFSM4GJZ3WSA.

antibill51 commented 4 years ago

Avec plaisir oui, par contre n'ayant pas encore le poêle, je ne te serai pas d'une grande aide pour le moment.

MoBOatGVA commented 4 years ago

Ahahah certes. Je n'ai pas d'inquiétude, cela arrivera.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 08.10.19 19:11 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Avec plaisir oui, par contre n'ayant pas encore le poêle, je ne te serai pas d'une grande aide pour le moment.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J6NJXIQCUJNWJAN6KTQNS5KFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5H7Y#issuecomment-539612159, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6J6RRAYKA5Q372WXCXLQNS5KFANCNFSM4GJZ3WSA.

MoBOatGVA commented 4 years ago

Je viens de jeter un coup d'œil.

Le scripts python est lancé par mon Ubuntu et il génère un fichier json qui lui est lu par home assistant.

:)

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 08.10.19 19:11 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Avec plaisir oui, par contre n'ayant pas encore le poêle, je ne te serai pas d'une grande aide pour le moment.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J6NJXIQCUJNWJAN6KTQNS5KFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5H7Y#issuecomment-539612159, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6J6RRAYKA5Q372WXCXLQNS5KFANCNFSM4GJZ3WSA.

antibill51 commented 4 years ago

D'accord. Je serais curieux de voir le script et ta config home assistant dès que je trouverai un moment pour :)

MoBOatGVA commented 4 years ago

Bordel... Ahahah... Je redecouvre :(

On va y arriver :)

Donc je corrige :

  1. Un cron lance mon script toute les 15 minutes
  2. Le script se connecte sur internet pour récupérer les données et crée un fichier json
  3. Le fichier json est envoyé à mon serveur mqtt
  4. Home assistant est informé d'une mise à jour des données et lit le contenu.

Pffff. Compliqué mais je crois que c'est le moyen que j'avais trouvé pour faire tout fonctionner.

Après, l'important c'est le script. Il te suffira de le modifier à ta guise.

Je dois le copier et cacher mes infos (utilisateur, mot de passe etc et ajouté un peu d'information).

Demain je te l'envoie.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 08.10.19 19:16 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

D'accord. Je serais curieux de voir le script et ta config home assistant dès que je trouverai un moment pour :)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J22IXAKNUZIFRO6CJLQNS57RA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5ZIY#issuecomment-539614371, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6JYAJMYBCKGHVY3LVD3QNS57RANCNFSM4GJZ3WSA.

antibill51 commented 4 years ago

Merci pour tout. Alors a demain. 😊

MoBOatGVA commented 4 years ago

‘lut !

Tu trouveras attaché le fichier Python (« rika_domo.txt » qu’il faudra modifier l’extension en « py » en place de « txt).

Le deuxième fichier (« ha-rika » est un script placé dans /usr/bin/ pour facilité l’execution -> les fonctions « print » du fichier python renvoie des données intéressantes) Note : piglet : petit programme pour afficher un titre… sympa mais pas obligatoire

Le dernier fichier, « requirements.txt » te liste les modules nécessaires.

Quelques données à changer :

            Ligne 189 :          Ton compte RIKA sur le web (firenet)
            Ligne 190 :          Ton mot de passe RIKA sur le web
            Ligne 196 :          L’endroit ou tu désires sauver ton fichier json
            Ligne 215 :          L’adresse IP de ton serveur MQTT
            Ligne 222 :          Le nom du client MQTT
            Ligne 223 :          Utilisateur et mot de passe pour le client MQTT (dans l’optique ou tu l’utilises)

Pour info : Ligne 150 : Création des données pour le document json Lignes 151-155 : Formatage du document json pour utilisation

.

From: antibill51 notifications@github.com Sent: mardi, 8 octobre 2019 20:23 To: iero/Rika-Stove Rika-Stove@noreply.github.com Cc: MoBOatGVA shadock@hotmail.com; Author author@noreply.github.com Subject: Re: [iero/Rika-Stove] Some issues using it (#1)

Merci pour tout. Alors a demain. 😊

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J5LD62NTNPAV3KAEVLQNTFZBA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAVEF6Q#issuecomment-539640570, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABUP6J5DJKUAXYJU2SV4WELQNTFZBANCNFSM4GJZ3WSA.

import sys import time import requests import json import datetime import paho.mqtt.client as mqtt import colorama from colorama import Fore, Back, Style

requests.packages.urllib3.disable_warnings()

import xml.etree.ElementTree as ET from bs4 import BeautifulSoup # parse page

def connect(client, url_base, url_login, url_stove, user, pwd) : data = { 'email':user, 'password':pwd}

r = client.post(url_base+url_login, data)
# print(r.url)
# print(r.text)

if ('Log out' in r.text) == True :
    print(Fore.GREEN + '               Connected to Elco !' + Fore.RESET)

    soup = BeautifulSoup(r.content, "html.parser")
    text = soup.find("ul", {"id": "stoveList"})
    # print(text)
    if text is not None :
        stoveName = text.find('a').text
        a = text.find('a', href=True)
        stove = a['href'].replace(url_stove,'')
        #print(Fore.GREEN + "               Found the Stove : {} [{}]".format(stoveName,stove) + Fore.RESET)
        return stove

return ""

def set_stove_temperature(client, url_base, url_api, stove, temperature) :

Security : Do not set extreme values

min = 14
max = 24

if min <= temperature <= max :
    cmd = '&targetTemperature='+str(temperature)
    actual = get_stove_informations(client, url_base, url_api, stove)
    data = actual['controls']
    data['targetTemperature'] = str(temperature)

    r = client.post(url_base+url_api+stove+'/controls', data)

    for counter in range (0,10) :
        if ('OK' in r.text) == True :
            print('Temperature target is now {} degC'.format(temperature))
            return True
        else :
            print('In progress.. ({}/10)'.format(counter))
            time.sleep(2)
elif temperature < min :
    print("Too cold ! {} degC minimum !".format(min))
else :
    print("Too hot ! {} degC maximum !".format(max))

def get_stove_informations(client, url_base, url_api, stove) : r = client.get(url_base+url_api+stove+'/status?nocache=') return r.json()

def show_stove_informations(data) :

print(Fore.CYAN + "Global :" + Fore.RESET)
print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "{0} [{1}]".format(data['name'],data['stoveID']))
print(Fore.WHITE + "               Last seen              : " + Fore.YELLOW + "{} min ago".format(data['lastSeenMinutes']))
lastConfirmedRevision = time.strftime('%d/%m/%Y %H:%M', time.localtime(data['lastConfirmedRevision']))
print(Fore.WHITE + "               Last Revision          : " + Fore.YELLOW + "{}".format(lastConfirmedRevision))

print(Fore.CYAN + "Control : ")
revision = time.strftime('%d/%m/%Y %H:%M', time.localtime(data['controls']['revision']))
print(Fore.WHITE + "               Last Revision          : " + Fore.YELLOW + "{}".format(revision))

if data['controls']['onOff'] :
    print(Fore.WHITE + "               Stove                  : " + Fore.GREEN + "is online")
    jstovectl = "Online"
else :
    print(Fore.WHITE + "               Stove                  : " + Fore.RED + "is offline")
    jstovectl = "Offline"

if data['controls']['operatingMode'] == 0 :
    print(Fore.WHITE + "               Operating mode         : " + Fore.YELLOW + "Manual with {}% power".format(data['controls']['heatingPower']))
    jstovemode = "Manual"
elif data['controls']['operatingMode'] == 1 :
    print(Fore.WHITE + "               Operating mode         : " + Fore.YELLOW + "Automatic with {}% power".format(data['controls']['heatingPower']))
    jstovemode = "Automatic"
elif data['controls']['operatingMode'] == 2 :
    print(Fore.WHITE + "               Operating mode         : " + Fore.YELLOW + "Comfort with {}% power".format(data['controls']['heatingPower']))
    jstovemode = "Comfort"

print(Fore.WHITE + "               Target Temperature     : " + Fore.YELLOW + "{} degC".format(data['controls']['targetTemperature']))
print(Fore.WHITE + "               Protection Temperature : " + Fore.YELLOW + "{} degC".format(data['controls']['setBackTemperature']))

print(Fore.CYAN + "Sensors : ")
if data['sensors']['statusMainState'] == 1 :
    if data['sensors']['statusSubState'] == 0 :
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "OFF")
        jstove = "Off"
    elif data['sensors']['statusSubState'] == 1 or data['sensors']['statusSubState'] == 3:
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Standby")
        jstove = "Standby"
    elif data['sensors']['statusSubState'] == 2 :
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "External command")
        jstove = "External Command"
    else :
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Unknown State")
        jstove = "UnKnown State"
elif data['sensors']['statusMainState'] == 2 :
    print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Waking up")
    jstove = "Waking Up"
elif data['sensors']['statusMainState'] == 3 :
    print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Starting")
    jstove = "Starting"
elif data['sensors']['statusMainState'] == 4 :
    print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Burning (control mode)")
    jstove = "Burning (control mode)"
elif data['sensors']['statusMainState'] == 5 :
    if data['sensors']['statusSubState'] == 3 or data['sensors']['statusSubState'] == 4 :
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Deep Cleaning")
        jstove = "Deep Cleaning"
    else :
        print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Cleaning")
        jstove = "Cleaning"
elif data['sensors']['statusMainState'] == 6 :
    print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Burn OFF")
    jstove = "Burn Off"
else :
    print(Fore.WHITE + "               Stove                  : " + Fore.YELLOW + "Unknown state")
    jstove = "Unknown Stove State"

print(Fore.WHITE + "               Room Temperature       : " + Fore.YELLOW + "{} degC".format(data['sensors']['inputRoomTemperature']))
print(Fore.WHITE + "               Flame Temperature      : " + Fore.YELLOW + "{} degC".format(data['sensors']['inputFlameTemperature']))

print(Fore.WHITE + "               Pellets consumption    : " + Fore.YELLOW + "{0} Kg ({1} h)".format(
    data['sensors']['parameterFeedRateTotal'],
    data['sensors']['parameterRuntimePellets']))

pellets_sacs = round((int(data["sensors"]["parameterFeedRateTotal"]) / 15), 2)
print(Fore.WHITE + "               Pellets nbre de sacs   : " + Fore.YELLOW + str(pellets_sacs) + " sacs")

print(Fore.WHITE + "               Diag Motor             : " + Fore.YELLOW + "{} %".format(data['sensors']['outputDischargeMotor']))
print(Fore.WHITE + "               Fan velocity           : " + Fore.YELLOW + "{} rps".format(data['sensors']['outputIDFan']))

json_data = {"SENSOR":{"check_time": current_time, "stove_status": jstove, "room_temp": int(data["sensors"]["inputRoomTemperature"]), "flame_temp": data["sensors"]["inputFlameTemperature"], "pellets_used": data["sensors"]["parameterFeedRateTotal"], "pellets_time": data["sensors"]["parameterRuntimePellets"], "diag_motor": data["sensors"]["outputDischargeMotor"],"fan_velocity": data["sensors"]["outputIDFan"]}, "STATE":{"stove_status": jstovectl, "revision_date": time.strftime("%d/%m/%Y"), "revision_time": time.strftime("%H:%M"), "operating_mode": jstovemode, "target_temp": int(data["controls"]["targetTemperature"]), "protection_temp": data["controls"]["setBackTemperature"]}}
#print(json.dumps(json_data, sort_keys=True, indent=2))
with open(json_path, 'w') as text_file:
    #print(json_data, file=text_file)
    print(json.dumps(json_data, sort_keys=True), file=text_file)
return json_data

def get_stove_consumption(data) : return data['sensors']['parameterFeedRateTotal']

def get_stove_temperature(data) : return data['sensors']['inputFlameTemperature']

def get_stove_thermostat(data) : return data['controls']['targetTemperature']

def get_room_temperature(data) : return data['controls']['targetTemperature']

def is_stove_burning(data) : if data['sensors']['statusMainState'] == 4 or data['sensors']['statusMainState'] == 5 : return True else : return False

def on_connect(client, userdata, flags, rc): if rc==0: client.connected_flag=True #set flag print(Fore.WHITE + " : " + Fore.GREEN + "Connected!" + Fore.RESET) else: print(Fore.RED + " Bad connection Returned code=" + Fore.RESET,rc)

def on_message(client, userdata, msg): topic=msg.topic m_decode=str(msg.payload.decode("utf-8","ignore")) m_in=json.loads(m_decode)

if name == "main":

user = ''
pwd = ''
current_time = datetime.datetime.now().date().strftime("%d.%m.%y") + " " + datetime.datetime.now().time().strftime("%H:%M")
url_base = 'https://www.rika-firenet.com'
url_login = '/web/login'
url_stove = '/web/stove/'
url_api = '/api/client/'
json_path = '/srv/homeassistant/json.data/rika.json'

client = requests.session()
client.verify = False

print(Fore.CYAN + "Informations : ")
print(Fore.WHITE + "               Starting Rika Update (" + current_time + ")")
print(Fore.WHITE + "               Connecting to Firenet...")
stove = connect(client, url_base, url_login, url_stove, user, pwd)

if len(stove) == 0 :
    print(Fore.RED + "               No RIKA found (connection failed ?)" + Fore.RESET)
    sys.exit(1)

# Get information
stove_infos = get_stove_informations(client, url_base, url_api, stove)
stove_json = show_stove_informations(stove_infos)

# Send MQTT
mqtt_server=""
# Converting to JSON
data_out=json.dumps(stove_json, sort_keys=True)
# Process
topic="tele/rika/SENSOR"
# Create flag in class
mqtt.Client.connected_flag=False
client=mqtt.Client("rika")
client.username_pw_set(username="",password="")
# Bind call back function
client.on_connect=on_connect
client.on_message=on_message
print(Fore.CYAN + "MQTT :")
print(Fore.WHITE + "               Connecting to broker   :" + Fore.RESET, mqtt_server)
client.connect(mqtt_server)
client.loop_start()
client.subscribe(topic)
time.sleep(3)
print("               Sending MQTT data      : Please wait...")
client.publish(topic,data_out)
print(Fore.WHITE + "                                      : " + Fore.GREEN + "MQTT Sent" + Fore.RESET)
time.sleep(5)
client.loop_stop()
client.disconnect()
print(Fore.CYAN + "Process done !" + Fore.RESET)
print("")
# To display result of the API, uncomment following line
#print(stove_infos)

!/bin/bash

# /usr/bin/figlet R I K A /usr/bin/python3 /srv/homeassistant/python_scripts/rika_domo.py

colorama==0.3.7 requests==2.18.4 beautifulsoup4==4.8.1 paho_mqtt==1.4.0

antibill51 commented 4 years ago

Ça y est je viens de signer. Ça devrait être bon pour moi d'ici un gros mois.

Par contre comment accéder aux fichiers joints ? Github ne doit pas accepter les PJ .

MoBOatGVA commented 4 years ago

Ah... Je ferai autrement demain. Dropbox. Plus simple.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : antibill51 notifications@github.com Date : 09.10.19 19:02 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Ça y est je viens de signer. Ça devrait être bon pour moi d'ici un gros mois.

Par contre comment accéder aux fichiers joints ? Github ne doit pas accepter les PJ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J5F5ZVC7PVHWOQWRGLQNYFDDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYSYNA#issuecomment-540093492, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABUP6J6AYQ3IDTZN3DF3JLDQNYFDDANCNFSM4GJZ3WSA.

MoBOatGVA commented 4 years ago

Salut,

As-tu une adresse email utilisable pour dropbox…. ? Parce que celle-là, elle me semble.

Tiens moi au courant

From: antibill51 notifications@github.com Sent: mercredi, 9 octobre 2019 19:03 To: iero/Rika-Stove Rika-Stove@noreply.github.com Cc: MoBOatGVA shadock@hotmail.com; Author author@noreply.github.com Subject: Re: [iero/Rika-Stove] Some issues using it (#1)

Ça y est je viens de signer. Ça devrait être bon pour moi d'ici un gros mois.

Par contre comment accéder aux fichiers joints ? Github ne doit pas accepter les PJ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J5F5ZVC7PVHWOQWRGLQNYFDDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYSYNA#issuecomment-540093492, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABUP6J6AYQ3IDTZN3DF3JLDQNYFDDANCNFSM4GJZ3WSA.

antibill51 commented 4 years ago

Désolé, je n'avais pas vu ton message. Tu peux m'envoyer ça a antibill51 @ free.fr (sans espace forcément). Je te remercie.

TheSkwi commented 4 years ago

Bonjour, je viens d'avoir un rika induo II avec firenet, quelques corrections à faire dans les fichiers :

MoBOatGVA commented 4 years ago

Merci pour me le faire remarquer. Je vais vérifier et je vais mettre les scripts sur github demain ainsi cela sera plus facile de partager en cas de corrections, questions et où demande de nouvelles fonctions.

Le script ne fait, actuellement, que de prendre des informations mais il pourrait aussi envoyer des commandes.

Je vous informe quand c'est fait.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : TheSkwi notifications@github.com Date : 09.11.19 22:27 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Bonjour, je viens d'avoir un rika induo II avec firenet, quelques corrections à faire dans les fichiers :

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J7TU7NDONJVDQPMWQLQS4TK3A5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDUPUPQ#issuecomment-552139326, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABUP6J7SKYGBXPALPEU3PVLQS4TK3ANCNFSM4GJZ3WSA.

TheSkwi commented 4 years ago

Concernant la mise à jour dans domoticz, vous indiquez dans le readme ainsi que dans settings.xml de faire un compteur incrémental pour les pellets, or l'information remontée par Rika est déjà la somme (dans mon cas, ça dépend peut-être des poêles), donc à chaque update ça fausse les valeurs. Il faudrait plutôt prendre un compteur classique.

Dans rika.py : get_room_temperature retourne la targetTemperature au lieu de return data['sensors']['inputRoomTemperature']

Enfin, je ne sais pas si c'est utile de le rajouter, mais voici un exemple pour mettre à jour toutes les 5mn les devices domoticz. Le nom du fichier doit commencer par script_time_xxx.lua :

local rika_command = 'python /volume1/users/Skwi/Scripts/Rika/rika.py /volume1/users/Skwi/Scripts/Rika/settings.xml update'

commandArray = {}

if (os.date('%M')%5 == 0) then
        cmd_success=os.execute(rika_command)
        print(cmd_success)
        if not cmd_success then
                print("Failed recovering rika values")
        end
end

return commandArray

Dans tous les cas, un grand merci pour ces scripts ! Je vais voir si je trouve des améliorations à faire. PS : Utilisant très rarement github est-ce que ça pose problème si je continue de poster mes messages dans ce fil de discussion? Si oui, où serait-ce plus adapté?

MoBOatGVA commented 4 years ago

Il y a quelques points important à savoir concernant les informations que je publie ici. Je n'utilise PAS domoticz mais home-assistant !

J'ai utilisé les scripts originaux de IERO comme base de travail mais je m'en suis passablement éloigné, c'est pourquoi je vais créer mon propre "repository" afin de pouvoir mieux supporter mon projet sous home-assistant.

J'ai opté pour une solution qui nécessite une plateforme MQTT pour envoyer les informations à Home-Assistant (sens unique) mais je pense me lancer dans une intégration plus native quand j'en aurais le temps.

Je n'ai AUCUNE connaissance de domoticz et je ne peux malheureusement pas t'aider sur le sujet mais je peux toujours essayer de te donner un coup de main concernant python. Je te conseille d'ouvrir une nouvelle "issue" et voir si IERO peut te répondre. Il n'est pas très actif mais il m'a répondu quand j'ai découvert son projet.

antibill51 commented 4 years ago

Salut. Je devrais enfin avoir le miens d'ici 1 ou 2 semaine, je vous ferrai signe a ce moment là 😉

iero commented 4 years ago

Hello !

Je suis vos conversations, merci de partager vos retours :)

Je n'ai pas accès à mon poêle ces temps-ci, la maison étant louée. Je n'ai docn pas pu faire de mise à jour du code. Mais je peux vous donner les droits pour mettre à jour ce repo avec vos modifications sans soucis ! Et bien sûr, n'hésitez pas à dialoguer ici, ca aidera peut-être d'autres.

De mémoire oui, le volume de pellet donné par Ricka est bien le total. Mais effectivement, il est possible que j'ai fait une erreur dans la conf de domoticz.. j'ai testé pas mal de trucs et j'étais plus intéressé par le contrôle de température. Donc je ne suis pas sûr d'avoir blindé le volume de pellets.

MoBOatGVA commented 4 years ago

Pour info, j'ai modifié drastiquement le script pour une utilisation sous Home-Assistant au travers d'une plate-forme mqtt. Je pense réaliser une intégration native si j'en trouve le temps.

Le script de IERO m'a apporté une base de travail très intéressante et je l'en remercie. Home-Assistant étant très éloigné de domoticz, je vais ouvrir un nouveau repository pour aborder cette solution.

-------- Message d'origine -------- De : iero notifications@github.com Date : 11.11.19 22:52 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Author author@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Hello !

Je suis vos conversations, merci de partager vos retours :)

Je n'ai pas accès à mon poêle ces temps-ci, la maison étant louée. Je n'ai docn pas pu faire de mise à jour du code. Mais je peux vous donner les droits pour mettre à jour ce repo avec vos modifications sans soucis ! Et bien sûr, n'hésitez pas à dialoguer ici, ca aidera peut-être d'autres.

De mémoire oui, le volume de pellet donné par Ricka est bien le total. Mais effectivement, il est possible que j'ai fait une erreur dans la conf de domoticz.. j'ai testé pas mal de trucs et j'étais plus intéressé par le contrôle de température. Donc je ne suis pas sûr d'avoir blindé le volume de pellets.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6JZRZ2NY6V6XMIJJPGDQTHHY5A5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDYIGFA#issuecomment-552633108, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABUP6J7ZV425JJIQGGKYQMTQTHHY5ANCNFSM4GJZ3WSA.

TheSkwi commented 4 years ago

Je continue de faire pas mal de modifs de mon côté, dans settings j'ai rajouté plusieurs balises, en adaptant rika.py en conséquence : Je ne suis pas encore certains de devices à faire dans domoticz, mais custom sensor semble le mieux pour les pellets

    <pellets>213</pellets>          <!-- Type Custom Sensor -->
    <burning_temp>209</burning_temp>    <!-- Type Temp -->
    <target_temp>204</target_temp>  <!-- Type Thermostat -->
    <room_temp>207</room_temp>      <!-- Type Temp -->
    <state>205</state>      <!-- Type Switch -->
    <main_state>214</main_state>            <!-- Type Custom Sensor -->
    <sub_state>215</sub_state>          <!-- Type Custom Sensor -->
    <text_state>212</text_state>    <!-- Type Text -->

Sur l'induo 2, lorsqu'on est en fonctionnement bois, il y a une notification pour indiquer que c'est le moment pour remettre du bois. Via le text_state j'ai fait en sorte récupérer cette info (qui n'est pas sur la page web, mais qu'on a via main/substate), ce qui me permet de mettre des lumières en rouge tant qu'il y a ce message puis de remettre les lumières dans leur état précédent. Voir les différents scripts en PJ : Rika-Stove-github.zip

Il me manque juste un script pour démarrer/arrêter le poêle, y'aurait juste à reprendre celui du set_stove_temperature et l'adapter avec le controls onOff, je le ferai quand j'en aurai réellement besoin

MoBOatGVA commented 4 years ago

If you're looking for an Home Assistant solution through MQTT, please check my repository here

antibill51 commented 4 years ago

If you're looking for an Home Assistant solution through MQTT, please check my repository here

Super merci beaucoup pour le code. Je vois que tu reçois pas mal d'infos du firenet, mais peux tu en envoyer également depuis homeassistant ? Allumer et éteindre, changer la consigne, ou commander les canalisations d'air par exemple ? Je suis impatient de recevoir le miens 😉

MoBOatGVA commented 4 years ago

If you're looking for an Home Assistant solution through MQTT, please check my repository here

Super merci beaucoup pour le code. Je vois que tu reçois pas mal d'infos du firenet, mais peux tu en envoyer également depuis homeassistant ? Allumer et éteindre, changer la consigne, ou commander les canalisations d'air par exemple ? Je suis impatient de recevoir le miens 😉

Peut-être plus judicieux de poser tes questions "home-assistant" directement depuis mon repository pour ne plus trop "polluer" celui-ci qui est plutôt dédié à Domoticz.

Pour répondre quand même à ta question, oui, c'est possible mais je n'en vois pas la plus value. J'utilise le mode "confort" qui, s'il est bien configuré, ne demande aucune action particulière et évite les allumages inutiles. Je dois avouer qu'en cas de modification, j'utilise directement l'écran du DOMO, pratique et rapide.

Cela dit, dans le cas d'une interaction bi-directionnelle avec Home Assistant, il est préférable d'intégrer les scripts python directement dans le répertoire "python_scripts" et de créer les informations dans le fichier de configuration.yaml car ma solution utilise, elle, le MQTT unidirectionnel (FIRENET -> MQTT -> HOMEASSISTANT). Je ne l'utilise qu'à des fins de statistiques et pour le contrôle des ventilateurs externes de diffusion (ma hauteur de toit est très grande, je dois créer une répartition plus adéquate pour éviter que la chaleur de s'applique qu'à l'étage qui est ouvert sur la pièce principale).

kiddouk commented 4 years ago

Bonjour a tous,

Je developpe une solution legerement differente de @MoBOatGVA et je trouve ENFIN des developpeurs qui sont interesses par les poele RIKA.

Y-aurait-il quelqu'un pour faire un lsusb -v sur une raspberrypi (ou linux quelconque ) en ayant prealablement branche le stick firenet sur le port USB de la rpi?

Ca m'aidera a developper mon projet que je pourrai ENFIN publier sur GH. Pour l'instant, ca ne fonctionne pas. 😄

Merci et bon boulot a tous sur vos effort pour automatiser les rika :)

MoBOatGVA commented 4 years ago

Je pense qu'il faudrait demander à Rika l'implantation MQTT dasn le stick firenet.

Cela simplifierait pas mal de choses.

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : sebastien requiem notifications@github.com Date : 15.12.19 10:13 (GMT+01:00) À : iero/Rika-Stove Rika-Stove@noreply.github.com Cc : MoBOatGVA shadock@hotmail.com, Mention mention@noreply.github.com Objet : Re: [iero/Rika-Stove] Some issues using it (#1)

Bonjour a tous,

Je developpe une solution legerement differente de @MoBOatGVAhttps://github.com/MoBOatGVA et je trouve ENFIN des developpeurs qui sont interesses par les poele RIKA.

Y-aurait-il quelqu'un pour faire un lsusb -v sur une raspberrypi (ou linux quelconque ) en ayant prealablement branche le stick firenet sur le port USB de la rpi?

Ca m'aidera a developper mon projet que je pourrai ENFIN publier sur GH. Pour l'instant, ca ne fonctionne pas. 😄

Merci et bon boulot a tous sur vos effort pour automatiser les rika :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/iero/Rika-Stove/issues/1?email_source=notifications&email_token=ABUP6J2TSYJWKXXYTDXSYXLQYXYLHA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG4UTUI#issuecomment-565791185, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABUP6J6VYIZ2FGPCILVLUPLQYXYLHANCNFSM4GJZ3WSA.

kiddouk commented 4 years ago

Oui, ca, nous sommes tous d'accord. Mais en attendant... :)

antibill51 commented 4 years ago

Bonjour a tous,

Je developpe une solution legerement differente de @MoBOatGVA et je trouve ENFIN des developpeurs qui sont interesses par les poele RIKA.

Y-aurait-il quelqu'un pour faire un lsusb -v sur une raspberrypi (ou linux quelconque ) en ayant prealablement branche le stick firenet sur le port USB de la rpi?

Ca m'aidera a developper mon projet que je pourrai ENFIN publier sur GH. Pour l'instant, ca ne fonctionne pas. 😄

Merci et bon boulot a tous sur vos effort pour automatiser les rika :)

Salut.

Un lsusb -v me donne ça :

Bus 001 Device 003: ID 0483:5740

Tu trouveras d'autres infos ici : http://xenonserge.blogspot.com/2018/11/rika-firenet.html

kiddouk commented 4 years ago

Merci @antibill51 !

Normalement, un lsusb -v doit donner beaucoup plus de donnees que ca, un truc dans le genre:


Bus 001 Device 012: ID 0287:6741  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0287 
  idProduct          0x6741 
  bcdDevice            2.00
  iManufacturer           1 STMicroelectronics
  iProduct                2 STM32 Virtual COM Port
<et beaucoup d'autre chose>

Tu aurais la suite? :)

au pire, tu peux faire un lsusb -v | curl -F 'sprunge=<-' http://sprunge.us, ce qui devrait te retourner une URL a copier ici (ou m'envoyer en pv).

Sinon, super pour ton lien, je vois que nous sommes plusieurs a avoir regarde les specs du STMicro :-)

antibill51 commented 4 years ago

Malheureusement je n'ai pas d'autres infos. Je regarderai des que possible sur un autre OS. Sans doute une version limitée de lsusb.

antibill51 commented 4 years ago

@kiddouk Salut, comme promis voici le lsusb -v depuis un autre OS, effectivement il y a bien plus d'infos.

Bus 001 Device 005: ID 0483:5740 STMicroelectronics Virtual COM Port Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0483 STMicroelectronics idProduct 0x5740 Virtual COM Port bcdDevice 2.00 iManufacturer 1 STMicroelectronics iProduct 2 STM32 Virtual COM Port
iSerial 3 48E9876C3939 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 67 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x00 bDataInterface 1 CDC ACM: bmCapabilities 0x02 line coding and serial state CDC Union: bMasterInterface 0 bSlaveInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 255 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0001 Self Powered

kiddouk commented 4 years ago

⭐️ PARFAIT ⭐️ :)

et merci.

antibill51 commented 4 years ago

PARFAIT :)

et merci.

De rien. Tu peux en dire un peu plus sur ton objectif ? Merci

kiddouk commented 4 years ago

Bien sûr, je crée un emulateur de stick Firenet (en USB) a base de Teensy 3.2 et j'ai un truc qui marchouille en USB-CDC (Convertissseur Port Com). Tes données vont me permettre d'identifier un probleme que je cherche depuis un certain moment.

L'emulateur parlera (MQTT 🎯 , HASS via MQTT, Jeedom...). Ce qui va permettre a bon nombre de faire ce que tout le monde veut faire : recuperer les données dans un systeme plus "local" pour de l'automatisation.

antibill51 commented 4 years ago

@kiddouk Super nouvelle ça. Du coup plus besoin du firenet, et on se passerait du cloud Rika si j'ai bien compris, c'est ça?

MoBOatGVA commented 4 years ago

RIKA ne pense pas développer de solution MQTT pour l'instant mais ont renvoyés ma demande au service de développement. Cela dit, si tu as la compétence de développer une solution qui fonctionne, alors cela serait un plus énorme et faciliterait beaucoup de processus (bi-directionnel). Etonné que RIKA se s'est pas encore lancé dans une solution MQTT. Dans tous les cas, je vais suivre ton truc....

antibill51 commented 4 years ago

Pour information : Bonjour Monsieur XXXX,

une nouvelle mise à jour pour le poêle sortira dans le courant du mois de janvier.

Cette mise à jour inclue aussi une mise à jour du RIKA FIRENET.

Veuillez svp vous adresser directement à votre revendeur.

Avec nos meilleures salutations

kiddouk commented 4 years ago

Hmmmm, personne n'a le firmware Rika que je regarde dedans? Perso, je ne l'ai pas mais j'aimerai bien le decompiler pour regarder ce qu'il y a a l'interieur :)

MoBOatGVA commented 4 years ago

Je dois avoir la version actuelle ou la précédente... Par email... fichier exe à decompiler mais fonctionne Désolé pour le retard, un peu occupé. Sinon, un avancement dans le projet ?

antibill51 commented 3 years ago

Bien sûr, je crée un emulateur de stick Firenet (en USB) a base de Teensy 3.2 et j'ai un truc qui marchouille en USB-CDC (Convertissseur Port Com). Tes données vont me permettre d'identifier un probleme que je cherche depuis un certain moment.

L'emulateur parlera (MQTT 🎯 , HASS via MQTT, Jeedom...). Ce qui va permettre a bon nombre de faire ce que tout le monde veut faire : recuperer les données dans un systeme plus "local" pour de l'automatisation.

Salut @kiddouk . Tu as du nouveau concernant ton émulateur ? Merci

lemassykoi commented 1 year ago

Salut @kiddouk suite à l'installation d'un poele rika debut janvier, je cherche à acquérir les données du poele, soit par le port USB, soit par le port série. J'ai cablé un Y pour le DB15 du poele, le thermostat externe est ok, mais je n'arrive à sortir aucune donnée par le DB9 du Y. Sur le poele, l'option GSM et FIRENET sont grisées.

j'ai bien trouvé ton projet sur https://github.com/kiddouk/rika-sms-emulator mais je suis incapable de m'en servir. si j'ai bien compris, tu utilises un arduino. Peux tu donner quelques détails sur la façon d'utiliser ce projet ? Merci beaucoup.