PS : sur l’application android difficulté pour modifier et activé les plage horaire de programmation, je ferais les extracts, lors de la venu d’un collègue avec un iphone , mais ce n’st pas prévu pour le moment.
PS2:
Si le s bouton du boitier électrique sont sur 0 , il est impossible de changer les états dans l’application
Bonjour,
Intéressant, ça m’a permis déjà d’identifier plus de codes d’offset de température : 1=+1, 2=+2, 3=+3. Pour mes valeurs négatives, je suis moins sûre pour le coup, car j’ai l’impression qu’il y a des ratés dans les premières valeurs que tu m’as fournies : je pense (et j’ai mis dans le code) que c’est 4=-1, 5=-2 et 6=-3, mais ce serait à reconfirmer en live.
Je pense par ailleurs que la valeur de température récupérée dans les données tient déjà compte de l’offset, là aussi l’idéal serait de comparer en live la température affichée dans l’appli avec celles dans HA (water_temperature
vs water_real_temperature
). Si mon impression est bonne, la valeur de water_temperature
devrait correspondre à celle affichée dans l’application.
Pour les restes des informations données, j’ai dû mal à comprendre si tu as fait plusieurs actions entre deux relevés ou si c’est moi qui ai du mal à comprendre quelle modification unitaire que tu as faite qui aurait eut plusieurs impactes. Dans tous les cas, j’ai identifié que ces modifications touchaient majoritairement aux digits 32, 33, 68 & 97 (plus potentiellement d’autres digits qu’on aurait mal-identifiés jusqu’ici).
Je pense que le mieux serait d’avancer fonctionnalité par fonctionnalité : prenons pas exemple la lumière. Il faudrait un relevé lumière éteinte puis un relevé lumière allumée SANS TOUCHER à autre chose en même temps (genre « Forcer la pompe lors de l’éclairage » ou autres paramètres pouvant avoir un impacte sur la lumière). Une fois qu’on aura identifié les changements dans ce cas simple, on refera des relevés dans les deux positions en modifiant un par un les paramètres pouvant impacter la lumière. Sans relevé avec des modifications les plus unitaires possibles, on peut difficilement avancer dans l’analyse (je pense).
PS : mes dernières modifications sur le code sont en ligne, pensez à mettre à jour. @StephMsa : ça pourrait être intéressant que sur l’histoire de la température et son offset, tu fasses des tests de ton côté pour valider que les relevés chez Ricky se confirme bien chez toi.
PPS : pour l’application PCAPdroid, c’est dommage. Je pense que c’est le VPN qui pose problème pour la détection du boitier Tild. La requête UDP broadcast doit être bloquée par le faux VPN lancé par PCAPdroid. La solution plus compliqué serait de mettre un PC qui fait la capture entre ton téléphone et le boîtier Tild, mais là ça se complique et je vais avoir du mal à t’expliquer comment tu peux faire ça si tu l’as jamais fais.
bonsoir,
oui pour chaque relever je n est modifié qu’un seul paramètre ! a la fois
pour les température tu as raison , le truc ca me permet de tricher , je baisse la température relever par le tild avec l offset comme ca elle tourne moins , par contre je veux afficher la vrai valeur pour savoir si je vais geler dedans ou pas
je pourrais refaire des series de relevé la semaine prochaine ca va être complique pour moi avant lundi
j essayerai d’installer une solution sur mon PC , je vais regarder si fidler Scan l’UDP
, si il y a un moyen avec un bluestaks ou autre
la par exemple il n’y a que le Forcer (dans appli) qui change
Je confirme les bonnes info sur la valeur de l offset… mais le resultat est inversé…sur la temp reel
La water temperature est ok
Exemple…
18 degres de l eau avec offset 3 affiche
Temp 21
Temp reel 24
Offset 3
Avec un offset de -3 sa donne
Temp 15
Temp reel 12
Offset -3
OK, j’ai compris ton usage détourner de l’offset. J’ai donc remplacer le sensor « water real temperature » par un sensor « water raw temperature » qui inverse l’application de l’offset sur la « vraie » température retournée par le sensor « water temperature ».
Merci @StephMsa d’avoir confirmer nos observations, on devrait désormais être bon sur les températures et l’offset remonté
Pour les autres infos remontés et notamment tout ce qui touche à l’éclairage, la filtration, le traitement et la pompe dont les états sont potentiellement influencés les uns par les autres, il faudrait à mon sens déjà identifier les bits d’état de chacun, avant d’identifier les bits correspondant aux paramétrages pouvant les influencer. Je ne sais pas précisément comment il est possible de faire ça ne connaissant pas bien le fonctionnement du boitier, mais il faudrait voir à faire le relevé dans un mode où on peut contrôler manuellement et individuellement la lumière, la pompe, la filtration et le traitement (=auxiliaire) en espérant qu’on arrivera à identifier leur bit d’état à chacun d’eux. Pour le moment, dans les relevés fournis on a trop d’info qui change pour identifier qui est qui Typiquement dans le cas ou tu as juste changer « Forcer la pompe lors de l’éclairage », on a en réalité 4 bits qui changes :
- 32 (0 => 3)
- 33 (2 => 3)
- 97 (1 => 0)
- 75 (0 => 8)
Le mode programmé agit sur le traitement l’auxiliaire et la pompe au minimum
Il est possible que ça flague partout !
Ce matin avant de partir au taf j’ai fait c est 2 Relever en mode programmé
Avant et après que ça s’enclenche (seul).
Depuis l’application
Tild v1.60 (02/09/21)
ID : C03601D03D09
Thermorégulé : on
Traitement : Programme
(Asservi Filtration)
Eclairage : OFF
Couleur Froid
Intensité Max
Mode hors gel 0°C
Type d’auxiliaire : traitement
Seuille de température auxiliaire : 15°C
Ajustement température -3°C
Forcer la pompe lors de l’éclairage : on
Unité de mesure : °C
Programme (Activite) : programmé
Mode WE :Off
Plage 1 : On – 6H00 – 20H00
Plage 2 : Off
Plage 3 : Off
Eclairage : Eteint
Filtration : Eteinte
Traitement Eteinte
Température Affichée : 12
Pompe a fonctionnée : vide
Température moyen : 12°
Sur le boitier Electrique :
Eclairage (tableau Elec): tild (Manuel / Tild / 0)
Pompe (tableau Elec): tild (Manuel / Tild / 0)
AUX (tableau Elec) : tild (Manuel / Tild / 0)
185BFFFFFFFF2050FFFFFFFF00010001000000001850FFFFFFFF2050FFFFFFFF010C071C01181C000E000C0000000900400000001C04040F2443430900580506271023002D4F00000000000001060000
Enclenchement de la pompe en mode auto
185BFFFFFFFF2050FFFFFFFF00010001210000001850FFFFFFFF2050FFFFFFFF010C071C01181C000E000C0000000900400000001C04040F2443430900150606271023002D4F00000000000001060000
- message dans l applis « la filtration est prévu pour fonctionner 1H »
J’ai un bout de code qui change également quand mon traitement auto ce lance.; j’avais déjà remarqué ce changement
Ricky : FFFFFFFF00010001000000001850FFFFFFFF → FFFFFFFF00010001210000001850FFFFFFFF
Steph : FFFFFFFF00010001000000002050FFFFFFFF → FFFFFFFF00010001250000002050FFFFFFFF
Sur les 3 derniers jours, cette parti du code reste identique lors du changement. Donc elle est ne tiens pas compte de la temperature ni date et heure… ni de la programmation avancé / semaine / week end qui est active chez moi et différente chez moi
lundi , je vais essayer:
ça va aussi dépendre de mon taf , mais je serai en télétravail.
- sans rien toucher ! de regarder s’il y a des valeurs qui change pendant le temps de lavage programmé , et dans l appli et dans l’extraction (ex: le temps de traitement), comme ça on aura peut êtres des valeurs a identifier.
- de trouver un système pour récupérer les tram UDP ce qui pourra peut êtres de savoir comment les ordres sont passés de l appli vers le tild.
En tout cas grand MERCI à brenard pour le travail déjà réalisé !
OK, donc d’après ce que vous m’avez envoyé ce matin, j’ai :
chez Ricky :
- 32 (0 => 2)
- 33 (0 => 1)
Chez Steph :
- 32 (0 => 2)
- 33 (0 => 5)
et par ailleurs, le bit 75 qu’on pensait être jusqu’ici un indicateur de l’état de la filtration n’a pas bougé.
Ça pourrait laisser penser que 32 = 2 => pompe allumé (mode auto uniquement ?) et 33 pourrait être la durée de filtration prévue ? @StephMsa : ton appli te disait 5h de filtration prévue ? Ce serait à confirmer avec d’autres tests, mais clairement les bits 32 & 33 ont des infos à nous livrer
En tout cas, j’ai mis à jour l’intégration en ce sens pour que vous puissiez facilement voir ce que ça donnes sur la base de cette hypothèse. J’ai également ajouter un sensor « Filtration expected duration ».
Par ailleurs, j’ai pensé à un truc ce midi pour PCAPdroid : je pense que ce qui pose problème à l’appli Tild quand PCAPdroid est lancé, c’est la détection du boitier, mais il est probable qu’une fois connecté au boitier, elle communique en direct avec lui via TCP et là il est possible que le VPN ne soit pas un problème. Ça vaudrait donc le coup de tester de lancer l’appli, se connecter au boitier et lancer seulement après la capture dans PCAPdroid (en filtrant bien sur l’application Tild). Avec un peu de chance, ça peut le faire
Re
Pour PCAPDroid quand on le lance ça déconnecte l’application Tild
du coup j’Install Fiddler et un bluestacks , je vais essayer de capter les flux du bluestacks avec fiddlers et installer tild dans le bluestacks et sinon je ferais le stest avec wireshark
je suis rentré plus tôt que prévu donc j ai testé
- Fiddlers sur mon PC → depuis mon tel connexion au Proxy de mon PC
– Applis fonctionne ,mais pas de remonté dans fiddlers - Bluestacks sur mon PC-> install de Tild
– l’appli Tild ne trouve pas le Tild certainement le Boadcast qui ce perd
je cherche encore 15 Min et je dois partir ,je vous tiens informé
Ca marchera pas avec bluestack…
J avais essayé afin de pouvoir gerer la pompe a distant ( anydesk ) et KO
Je viens de regarder ces applications que je ne connaissais pas. Fiddler ça ne pourra effectivement pas faire l’affaire (uniquement pour le tcp) et bluestacks ça semble trop limité comme émulation pour le coup. Vous aurez peut-être plus de chance avec une machine virtuelle sous Android x86:
Il faudra faire attention de configurer l’interface réseau pour utiliser directement celle de votre machine (pas de réseau virtuel) sinon le broadcast UDP sera bloqué aussi. En faisant tourner ensuite Wireshark sur votre machine il y a moyen que ça le fasse.
Salut
bon j avance sur la VM :
avec Virtual Box + Android X86
je suis arrivé à monter Tild et a voir la connexion UDP du coût l’app Tild voie bien mon Tild
par contre la connexion TCP part en échec
j’imagine pb de configuration réseau de la VM !
j essaye de régler le PB, je pense que ça provient du NAT créé par la VM
mais ça avance
bon il va falloir pas mal d’extraction ,
mais voila pour allumer le projecteur
Tild envois => {« sprj »:1}
et pour l éteindre
{« sprj »:0}
on peut déjà tester avec ca !
mais je vais devoir arrêter pour ce soir
je viens de tester en powershell plus simple pour moi que le python
Function Send-TCPMessage {
Param (
[Parameter(Mandatory=$true, Position=0)]
[ValidateNotNullOrEmpty()]
[string]
$EndPoint
,
[Parameter(Mandatory=$true, Position=1)]
[int]
$Port
,
[Parameter(Mandatory=$true, Position=2)]
[string]
$Message
)
Process {
# Setup connection
$IP = [System.Net.Dns]::GetHostAddresses($EndPoint)
$Address = [System.Net.IPAddress]::Parse($IP)
$Socket = New-Object System.Net.Sockets.TCPClient($Address,$Port)
# Setup stream wrtier
$Stream = $Socket.GetStream()
$Writer = New-Object System.IO.StreamWriter($Stream)
# Write message to stream
$Message | % {
$Writer.WriteLine($_)
$Writer.Flush()
}
# Close connection and stream
$Stream.Close()
$Socket.Close()
}
}
Send-TCPMessage -Port 30302 -Endpoint 192.168.50.254 -message '{"sprj":0}'
Send-TCPMessage -Port 30302 -Endpoint 192.168.50.254 -message '{"sprj":1}'
ca fonctionne
T’arrive à lancer une commande en direct?!
Si c est le cas, c est une grosse etape de franchi
Faudra voir si on arrive à forcer des commandes lorsqu un programme auto est lancé ( comme les lumieres par exemple )
He oui la lumière fonctionne même programme lancé
Par contre le tild n accepte qu une seul connexion a la fois,donc l application tel doit être fermé quand la manipulation s effectué
Demain je n aurai pas bcp de temps pour analyser
Mais au pire lundi je vous remonterai des commandes
Il restera quand même a affiner les remontées d’informations
Bien joué ! Je sais pas si j’aurai le temps de m’en occuper demain, mais je tâcherai d’implémenter ça dans l’appli rapidement.
Si tu arrives à trouver d’autres ordres, dis moi. Et oui, il va falloir qu’on peaufine la remontée d’info d’état. Je sais pas trop d’ailleurs encore comment ça va se passer si on ne sait pas bien remonté l’état après allumage / extinction. Le switch pourrait mal se comporter dans l’interface. As tu d’ailleurs put voir ce que le tild réponds après une demande correctement traitée ?