Harmony web socket client sur Raspberry

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Harmony web socket client sur Raspberry

Message par Pyrrhus »

Bonjour,
Depuis fin décembre logitech a passé le firmware du hub harmony en web socket. Conséquence: tous les scripts que j'avais écrit avec harmonyhubcontrol de fonctionnent plus...
J'ai vu que une personne a écrit un client web socket en java ici: https://github.com/digitaldan/harmony-client
Mais n'étant pas expert en programmation et encore moins en java, je n'ai pas compris ce que je devais faire après avoir téléchargé le master.zip . Le readme ne dit pas dans quel répertoire je dois aller ni si je dois compiler quelquechose...
Le voici

Code : Tout sélectionner

harmony-client

Logitech Harmony WebSocket Client

Licese EPL v2
Running

mvn clean compile assembly:single

java -cp target/harmony-client-1.0-SNAPSHOT-jar-with-dependencies.jar com.digitaldan.harmony.App YOUR_HUB_IP

This will launch a interactive shell, commands are:

    list devices - lists the configured devices and their id's
    list activities - lists the configured activities and their id's
    show activity - shows the current activity
    start <activity> - starts an activity (takes a string or id)
Merci d'avance pour votre aide !
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Harmony web socket client sur Raspberry

Message par thier »

Cherche sur le forum le post que j'ai mis. Tu downgrade au firmware précédent ton hub et tu bloques son accès internet pour ne pas refaire la mise à jour. Logitech s'est rendu compte de son erreur et devrait proposer un firmware avec websocket et ancien accés possible. L'utilisateur faisant le choix du fonctionnement.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: Harmony web socket client sur Raspberry

Message par Pyrrhus »

Merci pour cette bonne nouvelle !
je vais patienter encore avant d'installer le firmware developer et bloquer internet sur le hub, car je suis en train de tester des choses avec Alexa et le hub (yonomi, ifttt).
Mais si j'ai pas le choix... au bout d'un moment ça va m'énerver que mes scripts ne fonctionnent pas :lol:

Et puis je suis aussi curieux. J'ai finalement réussi à compiler le programme en java de digitaldan, après l'installation de nvm et une mise à jour de java sur le raspberry. Mais après reboot, je me suis retrouvé avec un bureau complétement changé, comme si j'avais changé pour gnome, alors que je n'ai rien demandé :? Va comprendre... Ce n'est pas grave.

Par contre, nouveau problème: Lorsque je fais

Code : Tout sélectionner

java -cp harmony-client-1.0-SNAPSHOT-jar-with-dependencies.jar com.digitaldan.harmony.App 192.168.1.31
(IP de mon hub)
j'obtiens:

Code : Tout sélectionner

[main] INFO org.eclipse.jetty.util.log - Logging initialized @1304ms to org.eclipse.jetty.util.log.Slf4jLog
[HttpClient@1fcd12c-13] ERROR com.digitaldan.harmony.HarmonyClient - onWebSocketError
org.eclipse.jetty.websocket.api.MessageTooLargeException: Text message size [92528] exceeds maximum size [65536]
        at org.eclipse.jetty.websocket.api.WebSocketPolicy.assertValidTextMessageSize(WebSocketPolicy.java:140)
        at org.eclipse.jetty.websocket.common.Parser.assertSanePayloadLength(Parser.java:127)
        at org.eclipse.jetty.websocket.common.Parser.parseFrame(Parser.java:485)
        at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:241)
        at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:560)
        at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:391)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)
        at java.lang.Thread.run(Thread.java:748)
[HttpClient@1fcd12c-13] INFO com.digitaldan.harmony.App - hubDisconnected Text message size [92528] exceeds maximum size [65536]
Pourquoi ce problème de taille de message ?? Comme je n'y connais pas grand chose, les recherches google me renvoient sur des trucs que je ne comprends pas.
Si quelqu'un connait la solution...
Répondre