-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some issues using it #1
Comments
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.
|
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/ (seulement<http://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 GitHub<#1 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AGj_JxSJsrnpF470idJqnQPZEiJeHXePks5u4FwHgaJpZM4ZOd2k>.
|
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/ (seulement<http://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 GitHub<#1 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AGj_JxSJsrnpF470idJqnQPZEiJeHXePks5u4FwHgaJpZM4ZOd2k>.
|
Bonjour, Merci. |
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 GitHub<#1?email_source=notifications&email_token=ABUP6J37B6NW4JRNW55RIG3QNSXMDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAUYGMI#issuecomment-539591473>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABUP6J2EJVECJZDIGAZ3TW3QNSXMDANCNFSM4GJZ3WSA>.
|
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. |
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 GitHub<#1?email_source=notifications&email_token=ABUP6JYVX7XD3ASPEOFOCMTQNS2DFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU2PWA#issuecomment-539600856>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABUP6J5NEVTGFSVVRWLUPADQNS2DFANCNFSM4GJZ3WSA>.
|
Avec plaisir oui, par contre n'ayant pas encore le poêle, je ne te serai pas d'une grande aide pour le moment. |
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 GitHub<#1?email_source=notifications&email_token=ABUP6J6NJXIQCUJNWJAN6KTQNS5KFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5H7Y#issuecomment-539612159>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABUP6J6RRAYKA5Q372WXCXLQNS5KFANCNFSM4GJZ3WSA>.
|
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 GitHub<#1?email_source=notifications&email_token=ABUP6J6NJXIQCUJNWJAN6KTQNS5KFA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5H7Y#issuecomment-539612159>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABUP6J6RRAYKA5Q372WXCXLQNS5KFANCNFSM4GJZ3WSA>.
|
D'accord. Je serais curieux de voir le script et ta config home assistant dès que je trouverai un moment pour :) |
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 GitHub<#1?email_source=notifications&email_token=ABUP6J22IXAKNUZIFRO6CJLQNS57RA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAU5ZIY#issuecomment-539614371>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABUP6JYAJMYBCKGHVY3LVD3QNS57RANCNFSM4GJZ3WSA>.
|
Merci pour tout. Alors a demain. 😊 |
‘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 GitHub<#1?email_source=notifications&email_token=ABUP6J5LD62NTNPAV3KAEVLQNTFZBA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAVEF6Q#issuecomment-539640570>, or mute the thread<https://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
|
Ç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 ? |
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 GitHub<#1?email_source=notifications&email_token=ABUP6J5F5ZVC7PVHWOQWRGLQNYFDDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYSYNA#issuecomment-540093492>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABUP6J6AYQ3IDTZN3DF3JLDQNYFDDANCNFSM4GJZ3WSA>.
|
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 GitHub<#1?email_source=notifications&email_token=ABUP6J5F5ZVC7PVHWOQWRGLQNYFDDA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYSYNA#issuecomment-540093492>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABUP6J6AYQ3IDTZN3DF3JLDQNYFDDANCNFSM4GJZ3WSA>.
|
Désolé, je n'avais pas vu ton message. |
Bonjour, je viens d'avoir un rika induo II avec firenet, quelques corrections à faire dans les fichiers :
|
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 :
* Dans settings.xml on a comme balise <burning> alors que dans rika.py il y a find('burning_temp')
* Dans rika.py le test de connection se fait avec 'log out' or ayant l'interface en Fr le mot clé est "Se déconnecter". Vu que je ne maitrise pas python et que le caractère "é" n'est pas reconnu, j'ai opté pour "fa-sign-out", la ligne étant : <a href="/web/logout" data-theme="a" data-role="button" data-icon="fa-sign-out" data-iconpos="left" class="sidePanelButton">Se déconnecter</a>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#1?email_source=notifications&email_token=ABUP6J7TU7NDONJVDQPMWQLQS4TK3A5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDUPUPQ#issuecomment-552139326>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABUP6J7SKYGBXPALPEU3PVLQS4TK3ANCNFSM4GJZ3WSA>.
|
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 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 :
Dans tous les cas, un grand merci pour ces scripts ! Je vais voir si je trouve des améliorations à faire. |
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. |
Salut. Je devrais enfin avoir le miens d'ici 1 ou 2 semaine, je vous ferrai signe a ce moment là 😉 |
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. |
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 GitHub<#1?email_source=notifications&email_token=ABUP6JZRZ2NY6V6XMIJJPGDQTHHY5A5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDYIGFA#issuecomment-552633108>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABUP6J7ZV425JJIQGGKYQMTQTHHY5ANCNFSM4GJZ3WSA>.
|
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 :
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 : 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 |
If you're looking for an Home Assistant solution through MQTT, please check my repository here |
Super merci beaucoup pour le code. |
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. 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). |
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 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 :) |
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 @MoBOatGVA<https://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 GitHub<#1?email_source=notifications&email_token=ABUP6J2TSYJWKXXYTDXSYXLQYXYLHA5CNFSM4GJZ3WSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG4UTUI#issuecomment-565791185>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABUP6J6VYIZ2FGPCILVLUPLQYXYLHANCNFSM4GJZ3WSA>.
|
Oui, ca, nous sommes tous d'accord. Mais en attendant... :) |
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 |
Merci @antibill51 ! Normalement, un
Tu aurais la suite? :) au pire, tu peux faire un Sinon, super pour ton lien, je vois que nous sommes plusieurs a avoir regarde les specs du STMicro :-) |
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. |
@kiddouk Bus 001 Device 005: ID 0483:5740 STMicroelectronics Virtual COM Port |
⭐️ PARFAIT ⭐️ :) et merci. |
De rien. Tu peux en dire un peu plus sur ton objectif ? Merci |
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. |
@kiddouk |
RIKA ne pense pas développer de solution MQTT pour l'instant mais ont renvoyés ma demande au service de développement. |
Pour information : 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 |
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 :) |
Je dois avoir la version actuelle ou la précédente... |
Salut @kiddouk . Tu as du nouveau concernant ton émulateur ? |
Salut @kiddouk j'ai bien trouvé ton projet sur https://github.com/kiddouk/rika-sms-emulator mais je suis incapable de m'en servir. |
Cool, sounds like what I am looking for. @kiddouk how far did you get with the project? I am also considering taking a stab at implementing local control for my RIKA stove, maybe we can collaborate. |
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
ssl_context=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)'),))
`
The text was updated successfully, but these errors were encountered: