Onduleur SMA Sunny Boy

Bon, cela marche plus :pensive:
Je vais attendre un peu, l’onduleur m’envoie un 411 length required

A part l’id spécifique, tu as changé autre chose ?

Salut,

Ouaip, j’ai merdé :slight_smile:
Là ce devrait être bon.

Re-télécharge la version Beta depuis le Market.

Ce que j’ai changé pour identifier l’ID de l’appareil:

	$InverterKey = '';
	$string = $data;
	$start = 'result":{"';
	$end = '"';
	$string = ' ' . $string;
	$ini = strpos($string, $start);
	if ($ini == 0) {
		$InverterKey = '';
	} else {
		$ini += strlen($start);
		$len = strpos($string, $end, $ini) - $ini;
		$InverterKey = substr($string, $ini, $len);
	}

Et ensuite dans les requêtes JSON:
$pv_power = $json[‹ result ›][$InverterKey][‹ 6100_0046C200 ›][‹ 1 ›][‹ 0 ›][‹ val ›];

Tu verras dans le code, j’ai un peu changé l’ordre de certains bouts de codes …

Tiens moi au jus.

Sébastien

Ok, c’est bon pour moi maintenant

Impeccable, pour moi aussi!

Donc le plugin est fonctionnel sur tous les types d’onduleur SMA.
Super, je fais les modifs sur le Master et je publie en Stable.

Merci pour tes tests!

Sébastien

De rien. Je vais t’expliquer ce que je fais comme graph et les virtuels créés.

petite explication.
je crée ces virtuels:


les 6 premiers servent a savoir ou l’on en est
les 4 derniers servent a mettre les valeurs « définitives » quand un jour est complet (Prod par jour), c’est la dedans que je met la valeur. il n’y a donc qu’une valeur par jour. pour mon exemple.

et alors j’ai des scénarios qui tournent pour mettre des valeurs dedans:

pour le scénario de 5 min:
cron toutes les 5 mins


je fait cette formule:
#[Energie][SMA Tripower][Production Totale]# - statisticsBetween(#[Energie][SMA Tripower][Production Totale]#,max,1 day ago, 5 minutes ago)
et pour les commandes Prod du mois, Prod daujourdhui, Prod de la semaine, Prod de cette annee, j’incrémente et je converti en kWh pour une meilleure visibilité: #[Energie][onduleur Virtuel][Prod du mois]# + (#[Energie][onduleur Virtuel][prod par 5min]#/1000)

pour le scenario de 1 heure:
cron toutes les heures a 59 mins


le calcul:
(#[Energie][SMA Tripower][Production Totale]# - statisticsBetween(#[Energie][SMA Tripower][Production Totale]#,max,1 day ago, 60 minutes ago))/1000

pour le scénario de 1 jour:
cron tous les jours a 23:59


(#[Energie][SMA Tripower][Production Totale]# - statisticsBetween(#[Energie][SMA Tripower][Production Totale]#,max ,2 day ago,1 day ago))/1000
même formule que pour 1 heure. pour la semaine, le mois et l’année, c’est le même principe, il n’y a que la durée qui change.
je m’arrange juste que le cron tourne 1 min avant la fin de la période que je veux loguer pour éviter de mettre la valeur sur le jour suivant et puis de toute façon, a 23h, le soleil est couché.

voila, j’espère avoir été assez clair. ce serait sympa d’avoir cela directement dans le plugin.

si tu veux plus d’info ou éclaircissement dit le moi

Bonne soirée

Bonjour Poluket!

Merci pour tes explications, c’est super!
En fait j’utilise la même technique pour d’autres calculs (temps de filtration de ma piscine :slight_smile: ) …
C’est super que tu es partagé ces scénarios, ça m’évitera de devoir penser, ha!

J’aimerai bien intégrer cela directement dans le plugin … en fait je pense qu’on peut faire ces calculs dans le code et tout simplement afficher les valeurs dans une info Widget. J’utiliserai le cron qui tourne de toute façon toutes les minutes … donc je peux intégrer tout ça je pense …

Aussi: je viens de mettre à jour la BETA. J’ai rajouter un paramètre pour spécifier le port de l’onduleur SMA. En local ce devrait toujours être 443 mais ça peut être utile si on connecte Jeedom à un onduleur SMA distant (redirigé sur le web) !!!
Peux-tu tester et voir si bug ou pas?
Info: si pas de port spécifié alors par défaut il prend le port 443 (https).

Merci,

Sébastien

J’ai une petite erreur dans mes calculs. Je corrige et je te mettrai le bon calcul.

Pour le port, je n’ai pas encore eu le temps de tester. J’essaie de regarder cela aujourd’hui

je viens de mettre a jour, cela me semble bon. force p-e d’afficher le port 443 par défaut. ce sera valable pour 99% des gens.
encore merci pour ce super plugin :slight_smile:

ps: j’ai corriger mes calculs, cela devrait etre bon

Salut,

J’ai étudié tes calculs, mais je crois avoir plus simple (ou alors j’ai pas compris).
Le but c’est d’avoir des totaux de production par jour / semaine / mois / année, correcte?

Si oui, on peut simplement partir sur ce type de calcul, par exemple pour la production du jour:
PV Jour = (max(#[Energie][SMA Tripower][Production Totale]#, Today) - min(#[Energie][SMA Tripower][Production Totale]#, Today)) / 1000

Donc chaque minute (le cron du plugin qui met à jour les valeurs) on aura un calcul précis de ces valeurs.
On fait pareil pour la semaine / mois / année.

L’utilisateur pourra créer ses ‹ Vues › graphiques très simplement avec ces infos venant du plugin.

Tu en penses quoi?

Sébastien

Oui, c’est bon pour moi. C’est une autre manière qui fonctionnera tout aussi bien. Pour bien faire, je ferais plutôt ceci :

PV Jour = (max(#[Energie][SMA Tripower][Production Totale]#, Today) - max(#[Energie][SMA Tripower][Production Totale]#, Yesterday)) / 1000