Superkikim / mh-maxsmart-hass

Power Strip and Smart Plug home assistant custom component for Revogi based devices
2 stars 1 forks source link

Manual Install error #11

Open chris777c opened 4 months ago

chris777c commented 4 months ago

Hello,

I try to install manually,

I download 2023.8.0-beta3.tar.gz and them i follow instructions :

`Installation

This component is not included in the default Home Assistant installation. Therefore, it needs to be installed manually:

Navigate to the config directory of your Home Assistant installation.
If you don't have a custom_components directory inside the config directory, create it.
Inside the custom_components directory, create another directory named maxsmart.
Download the four files from this repository (__init__.py, manifest.json, config_flow.py, switch.py) and place them inside the maxsmart directory.

After you have installed the component, you need to restart Home Assistant. Configuration

After installing the component, you need to add it to your configuration:

Go to Configuration > Integrations.
Click on the Add Integration button.
Search for MaxSmart (Revogi) and select it.
If the devices are not discovered automatically, you will be asked to input the IP address of the device.
Once the devices are discovered, they will be added`

In integrations menu, I choose : Capture d’écran du 2024-07-22 13-35-53

and therm I have this error message : Capture d’écran du 2024-07-22 13-36-09

Superkikim commented 4 months ago

Remind me of an old issue... seems my plugin is unstable.

What is your implementation of Home Assistant ?

chris777c commented 4 months ago

My haos installed on proxmox version

chris777c commented 2 months ago

hello, have you need some log for resolved this issue.?

Superkikim commented 2 months ago

Sorry I forgot this issue. I'm currently focusing on refactoring the python module for maxsmart to improve it.

Have you tried with HACS ?

image

I just tried on a test instance with HA 2024.8.3 and it works fine

image

Once added, click the repo, and Download.

It will propose to download beta-1

click Need a different version, you will find "2023.8.0-beta.3". Download it.

restart HASS

Go to Devices and Add maxsmart.

It should work.

If not, provide logs, and if you don't want to use HACS, share the content of the custom_components/maxsmart folder so I can see what files you've put there.

chris777c commented 2 months ago

Thank you for reply, i try with HACS same problem , i don't see maxsmart repot on HACS . No problem , i wait your new version.

Superkikim commented 2 months ago

Naaaaa. That's a shame. Send me an email at superkikim@sissaoui.com

I'll help you. I guess you're in switzerland right ? We should be able to fix it in minutes.

chris777c commented 2 months ago

Hello, I live in France

Superkikim commented 2 months ago

Hello, I live in France

Alors on peut parler français ;-)

Bref. Tu as mon email. Quand tu veux. Un zoom, un google meet, on jette un oeil. Si je peux t'aider, c'est volontiers. C'est vachement pratique d'avoir ces prises dans Home assistant ;-)

chris777c commented 2 months ago

Bonjour, merci pour le retour, je vous contacte un peu plus tard

chris777c commented 1 month ago

Bonjour,

Bonne nouvelle , j'ai réussi à faire l'installation via HACS en ajoutant le dépot par contre l'intégration ne trouve pas ma multiprise, comment fait on pour forcer l'adresse IP ?

Superkikim commented 1 month ago

Est-ce que l' interface te demande propose d'entrer une adresse IP ? Le cas échéant, il faut y mettre l'adresse de ta prise.Tu peux la trouver dans l'application maxsmart ou revogi dans infornation sur ta prise.Sinon il faut consulter le serveur DHCP de ta boxMais je suis étonné qu'il ne la trouve pas si elle est bien connectée a ton réseau et qu'elle est sur le même vlan que le reste.Le 20 oct. 2024 à 10:32, chris777c @.***> a écrit : Bonjour, Bonne nouvelle , j'ai réussi à faire l'installation via HACS en ajoutant le dépot par contre l'intégration ne trouve pas ma multiprise, comment fait on pour forcer l'adresse IP ?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

chris777c commented 1 month ago

Non, il ne me propose pas de renseigner l'adresse IP, est ce qu'il y a possibilité de forcer dans un fichier de conf?

Superkikim commented 1 month ago

Non. Tu peux jeter un oeil au log, voir les entrées qui concerne maxsmart ?

Le 20 oct. 2024 à 20:06, chris777c @.***> a écrit :

 Non, il ne me propose pas de renseigner l'adresse IP, est ce qu'il y  a possibilité de forcer dans un fichier de conf?    —  Reply to this email directly, view it on GitHub  [https://github.com/Superkikim/mh-maxsmart-hass/issues/11#issuecomment-2425160448],  or unsubscribe  [https://github.com/notifications/unsubscribe-auth/ACM7BZM2ALN53RKGQLITBG3Z4PWLNAVCNFSM6AAAAABLIEKLTWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRVGE3DANBUHA].  You are receiving this because you commented.Message ID: @.***>

chris777c commented 3 weeks ago

Bonjour,

Voici la log `Error doing job: Future exception was never retrieved (None)

Traceback (most recent call last): File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/maxsmart/sensor.py", line 81, in update power_data = self._maxsmart_device.get_power_data(self._port_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/maxsmart/maxsmart.py", line 147, in get_power_data response = self._send_command(511) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/maxsmart/maxsmart.py", line 86, in _send_command raise Exception("Failed to send command to power strip after multiple retries") Exception: Failed to send command to power strip after multiple retries`

Superkikim commented 2 weeks ago

Cette entrée de log indique un problème de communication avec la prise. Mais il semble donc qu'une prise a bien été trouvée.

Veux-tu bien essayer les deux choses suivantes ? J'aimerais comprendre où est ta prise, et ce qu'elle est:

Résultat de la commande 511 dans ton navigateur: http://<ip_prise>/?cmd=511

Ensuite, si tu es sur Linux, exécute la commande suivante. Change 192.168.1.44 par l'IP de ta prise.

echo "00dv=all" | nc -u 192.168.1.44 8888

Si tu utilises Windows, ouvre powershell ISE, et cope ce script. Change 192.168.1.44 par l'IP de ta prise. Exécute le. Poste la réponse:

$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect("192.168.1.44", 8888)

# Convertit le message en bytes
$message = [Text.Encoding]::UTF8.GetBytes("00dv=all")
$UdpClient.Send($message, $message.Length)

# Tentative de réception de réponse avec un timeout de 5 secondes
$RemoteIpEndPoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::Any, 0)
$UdpClient.Client.ReceiveTimeout = 5000

try {
    $ResponseBytes = $UdpClient.Receive([ref]$RemoteIpEndPoint)
    $Response = [Text.Encoding]::UTF8.GetString($ResponseBytes)
    Write-Output "Réponse : $Response"
} catch {
    Write-Output "Aucune réponse reçue (timeout)"
}

$UdpClient.Close()

Mon offre d'une séance à distance pour troubleshooter tient toujours. J'utilise Anydesk. Tu peux encore m'écrire à superkikim@sissaoui.com

Autrement, j'aurai beaucoup de peine à t'aider plus que ça.

j'ai acheté trois prises supplémentaires récemment, en firmware. 1.30 et 2.11, et je n'ai aucun souci.

chris777c commented 2 weeks ago

Bonjour,

Voici le résultat de la commande : echo "00dv=all" | nc -u 192.168.1.44 8888

{"response":0,"data":{"sn":"SWWXXXXXX","regid":"rvg210021844","sak":"2FXXXXXX","name":"Strip","mac":"B0:F8:93:19:C2:2F","ver":"5.11"}}

Superkikim commented 2 weeks ago

Ha ouais il me semblait qu'il me manquait des éléments. 

5.11 n'est pas du tout pris en compte. Cela dit, si tu peux me confirmer que les commandes 200, 510 et 511 fonctionnent, je peux arranger ça prochainement.

https://github.com/altery/mh-maxsmart-powerstation

Le 3 nov. 2024 à 19:13, chris777c @.***> a écrit :

 Bonjour,    Voici le résultat de la commande : echo "00dv=all" | nc -u  192.168.1.44 8888    {"response":0,"data":{"sn":"SWWXXXXXX","regid":"rvg210021844","sak":"2FXXXXXX","name":"Strip","mac":"B0:F8:93:19:C2:2F","ver":"5.11"}}    —  Reply to this email directly, view it on GitHub  [https://github.com/Superkikim/mh-maxsmart-hass/issues/11#issuecomment-2453516907],  or unsubscribe  [https://github.com/notifications/unsubscribe-auth/ACM7BZLHHUJ45ZFB3M2H2TLZ6ZRWHAVCNFSM6AAAAABLIEKLTWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGUYTMOJQG4].  You are receiving this because you commented.Message ID: @.***>

chris777c commented 2 weeks ago

Non pas en http, uniquement avec les appels udp :

lire les infos : echo "V3{\"sn\":\"$SN_REVOGI\",\"cmd\": 90}" | nc -u -w 1 $IP_REVOGI 8888

la réponse :
V3{"response":90,"code":200,"data":{"switch":[1,1,1,1,1,1],"watt":[1580,0,51352,0,10476,0],"amp":[36,19,343,11,104,10]}}

envoyer des commandes :
echo "V3{\"sn\":\"$SN_REVOGI\",\"cmd\":20,\"port\":\"$numPlus\",\"state\":\"$state\"}" | nc -u -w 1 $IP_REVOGI 8888

Superkikim commented 2 weeks ago

Intéressant. Pour l'instant l'intégration ne fait que des commandes en HTTP. seul le discovery se fait en UDP.

Avec ce que tu m'as envoyé (et j'ai trouvé un PDF avec le même contenu), je vais pouvoir faire quelque chose. Mais il faudrait que je trouve un moyen de différencier les devices qui prennent le HTTP, et ceux qui prennent l'UDP.

Je vais voir si mes devices prennent les commandes en UDP. Ca serait intéressant. Dans ce cas je pourrais faire un test commande 511 ou comment 90, pour voir laquelle répond, et l'intégrer en fonction.

Bref. Je vais me pencher là-dessus. Garde tes appareils bien au chaud :)

Le 2024-11-03T20:48:01.000+01:00, chris777c @.***> a écrit :

 Non pas en http, uniquement avec les appels udp :     lire les infos :   echo "V3{\"sn\":\"$SN_REVOGI\",\"cmd\": 90}" | nc -u -w 1  $IP_REVOGI 8888     la réponse :   V3{"response":90,"code":200,"data":{"switch":[1,1,1,1,1,1],"watt":[1580,0,51352,0,10476,0],"amp":[36,19,343,11,104,10]}}     envoyer des commandes :   echo  "V3{\"sn\":\"$SN_REVOGI\",\"cmd\":20,\"port\":\"$numPlus\",\"state\":\"$state\"}"  | nc -u -w 1 $IP_REVOGI 8888    —  Reply to this email directly, view it on GitHub  [https://github.com/Superkikim/mh-maxsmart-hass/issues/11#issuecomment-2453555545],  or unsubscribe  [https://github.com/notifications/unsubscribe-auth/ACM7BZKPES45MIPPY7W24J3Z6Z4XDAVCNFSM6AAAAABLIEKLTWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGU2TKNJUGU].  You are receiving this because you commented.Message ID: @.***>

chris777c commented 1 week ago

Bonjour, Merci