Gestion Poéle à pellets Rika

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
razorbak
Messages : 23
Enregistré le : 26 oct. 2016, 23:05

Re: Gestion Poéle à pellets Rika

Message par razorbak »

yes at the end I bought it because I was very unconfortable to use a system that could crash the stove.
The first time I got this issue is becase I didn't deactivate console log in the rpi. When it boots, it sends over the serial the boot information.
then I changed it but it happened once more and I don't know why. Maybe something in the script but I understood the process handling ATDT command was clearly very buggy and/or not protected to do any form of validation and then I gave up.

reiger123
Messages : 5
Enregistré le : 03 oct. 2017, 07:48

Re: Gestion Poéle à pellets Rika

Message par reiger123 »

You seem to know what you are talking about. Do you think it's possible that combining the SPWF01SA.11 with the STEVAL-PCC018V1 is enough? I trying to figure out if they would need something extra or not. Maybe a voltage regulator because the SPWF01SA.11 requires a 3.3V power supply.

http://www.mouser.be/Search/ProductDeta ... PWF01SA.11
http://www.mouser.be/Search/ProductDeta ... L-PCC018V1

razorbak
Messages : 23
Enregistré le : 26 oct. 2016, 23:05

Re: Gestion Poéle à pellets Rika

Message par razorbak »

quite honestly I don't know and after the hardware part, you bet that rika didn't push any firmware in the key otherwise you'll be screwed
anyway good luck in your project and keep us posted.
If have time on my side I'll just try to inspect the communication between the stove and the cloud (encrypted but maybe there are some way to workaround it)

Celtic80
Messages : 10
Enregistré le : 01 oct. 2016, 21:50

Re: Gestion Poéle à pellets Rika

Message par Celtic80 »

hello reiger123; This is an SPWF01SA1 and yes I have seen for UART interface. But I would have to remove the chip from the FIRENET module and I'm not yet ready to do that. It's the only way to read the program inside and adapt it to an ESP8266 module, for example, and it can be directly connected to a home automation box!

reiger123
Messages : 5
Enregistré le : 03 oct. 2017, 07:48

Re: Gestion Poéle à pellets Rika

Message par reiger123 »

Celtic80 I'm not sure if I understand correctly. You use the Firenet module to read the firmware of the stove? Or do you mean there's custom firmware on the Firenet module?

I hope you didn't open your Firenet module? But if so, did you take pictures? :mrgreen:

Celtic80
Messages : 10
Enregistré le : 01 oct. 2016, 21:50

Re: Gestion Poéle à pellets Rika

Message par Celtic80 »

hello reiger123; Yes the SPWF01SA1 is a tiny-server and there are files inside like the esp8266 ! The usb key is a usb interface - AT command but I can't make it respond by sending commands from the usb port of my PC. That is why it would be necessary to desolder the chip and put it on a UART interface but I don't dare to do it.
Here some photos.
20171016_224915.jpg
20171016_224915.jpg (1.1 Mio) Vu 4967 fois
20171016_225044.jpg
20171016_225044.jpg (1.03 Mio) Vu 4967 fois

iero
Messages : 4
Enregistré le : 24 nov. 2017, 08:53

Re: Gestion Poéle à pellets Rika

Message par iero »

Bonjour,

Je suis en train de porter ce script en python pour pouvoir l'intégrer plus facilement avec mes autres scripts (et pas rajouter php sur le raspberry).

Par contre, je bloque sur l'authentification. Pour ceux qui l'ont codé en php, y a t'il quelque chose de spécial à faire ?

Voila ce que j'ai pour l'instant. Le serveur répond comme si j'envoyais rien.

Code : Tout sélectionner

def connect(client) :

	payload = urllib.parse.urlencode({
		'email':username_rika,
		'password':password_rika
	})

	print("+-[url post] : {}".format(url_login))
	p = client.post(url_login, data=payload, headers=dict(Referer=url))
	print(p.content)
J'ai essayé avec un get avant, en récupérant le cookie et en le renvoyant, etc.. mais ya rien qui fonctionne.

Une idée ?

razorbak
Messages : 23
Enregistré le : 26 oct. 2016, 23:05

Re: Gestion Poéle à pellets Rika

Message par razorbak »

je viens de refaire un test en simplifiant le script et ca marche sans pb pour la collection du moins des infos:

Code : Tout sélectionner

<?php


$id_power = 2221;
$now = round(microtime(true)*1000,0);
$get = 'https://www.rika-firenet.com/api/client/31711030/status?nocache=';

$on = false;

$login_url = 'https://www.rika-firenet.com/web/login';
$log = 'https://www.rika-firenet.com/api/client';

echo date("Y-m-d H:i:s")."\n";

$connect_sid = login();

$status = get_status('connect.sid='.$connect_sid);
$status_array = json_decode($status,true);

var_dump($status_array);


function login ()

	{
		global $login_url;
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $login_url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_HEADER, 1);
		curl_setopt($ch, CURLOPT_POST,           1 );
		curl_setopt($ch, CURLOPT_POSTFIELDS,'email=xxx%40xxxx.xx&password=xxxxxxxxxx'); 
		curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-Type: application/x-www-form-urlencoded')); 

		$result=curl_exec ($ch);

		preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);        // get cookie
		$cookies = array();
			foreach($matches[1] as $item) 
				{
    				parse_str($item, $cookie);
    				$cookies = array_merge($cookies, $cookie);
				}
		return $cookies['connect_sid'];
	}
function get_status($cookie)
	{

		global $get,$now;
		$c = curl_init();
		curl_setopt($c, CURLOPT_URL, $get.$now);
		curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($c, CURLOPT_COOKIE, $cookie);
		curl_setopt($c, CURLOPT_HEADER, false);
		$result=curl_exec ($c);

		return $result;
	}
?>

iero
Messages : 4
Enregistré le : 24 nov. 2017, 08:53

Re: Gestion Poéle à pellets Rika

Message par iero »

Ca y est, j'ai réussi à faire le code en python :

https://github.com/iero/Rika-Stove

Bon, moi par contre, je ne le pilote pas en manuel, je préfère jouer avec la température 'target' pour le laisser gérer lui même la puissance associée pour arriver à cette température.

Prochaine étape, faire le lien avec domoticz.

razorbak
Messages : 23
Enregistré le : 26 oct. 2016, 23:05

Re: Gestion Poéle à pellets Rika

Message par razorbak »

ah merci. Quand tu fixes la température cible ca marche bien ?
Moi il s'allume et s'éteint trop souvent et du coup j'ai des écarts trop importants.
Ca vient sans doute aussi de la taille de ma piece qui est très grande

Répondre