ICO de chez Ondilo
#11
pourquoi tu veux tout réécrire en JS, tu utilises ton serveur en python et à chaque ordre ou valeur reçue tu balances sur le listener en http de LD, ensuite tu captes dans des automates pour mettre a jour les variables d'affichage dans DS, pour l'autre sens, tu t'inspires des entrées client pour envoyer de la LD les ordres sur ton server.

ça permet d'avoir l'interface LD DS sans les développement des programmes de dialogues. 

comme cela tu n'écris pas de ligne de code en JS, puisque c'est toi qui construit la requête vers LD avec
http://IP_LD:8080/UniversalListen?trame=rainbird&var1=xx&var2=yy

et tu déclenches tes automates avec 'à chaque fois' que trame= rainbird
Répondre
#12
Je poursuis la découverte du programme, disons des programmes et des données json (commandes et réponses).
Car tout est envoyé sous forme de code au programmateur RainBird, à travers des commandes codées dans un fichier json.

Le programme ne permet pas de récupérer une programmation de l'arrosage entrée sur le programmateur directement ou avec l'appli smartphone.


Il permet seulement de déclencher manuellement un arrosage sur une zone avec une durée, un arrosage par cycle de toutes les zones avec une durée identique sur chaque zone.
mais il ne permet pas de déclencher l'arrosage à une heure précise.... ou alors je n'ai pas suivi !!

Pour l'instant je cherche à comprendre la manière dont les commandes sont envoyés au programmateur et ses réponses.
J'arrive à déclencher l'arrosage de mes zones, les arrêter, faire remonter des données (modèle, version, date, heure), etc..
Exemple d'un DEBUG suite à l'envoi d'une commande d'arrosage de la zone 1 pendant 5 min.

Arrosage zone 1 pendant 5 min.
DEBUG:pyrainbird:Request to line: 39000105
DEBUG:pyrainbird:Sending {"id":1639399328,"jsonrpc":"2.0","method":"tunnelSip","params":{"data":"39000105","length":4}} to 192.168.1.11, 1. try.
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.11:80
DEBUG:urllib3.connectionpool:http://192.168.1.11:80 "POST /stick HTTP/1.1" 200 128
DEBUG:pyrainbird:Response: {"jsonrpc": "2.0", "result":{"length":2, "data":"0139"}, "id": 16288}
DEBUG:pyrainbird:Response from line: 0139
DEBUG:pyrainbird:Response: {'type': 'AcknowledgeResponse', 'commandEcho': 57}
DEBUG:pyrainbird:Request to line: 3F00
DEBUG:pyrainbird:Sending {"id":1639399328,"jsonrpc":"2.0","method":"tunnelSip","params":{"data":"3F00","length":2}} to 192.168.1.11, 1. try.
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.11:80
DEBUG:urllib3.connectionpool:http://192.168.1.11:80 "POST /stick HTTP/1.1" 200 128
DEBUG:pyrainbird:Response: {"jsonrpc": "2.0", "result":{"length":6, "data":"BF0001000000"}, "id": 16288}
DEBUG:pyrainbird:Response from line: BF0001000000
DEBUG:pyrainbird:Response: {'type': 'CurrentStationsActiveResponse', 'pageNumber': 0, 'activeStations': 16777216}
DEBUG:pyrainbird:Request to line: 3F00
DEBUG:pyrainbird:Sending {"id":1639399333,"jsonrpc":"2.0","method":"tunnelSip","params":{"data":"3F00","length":2}} to 192.168.1.11, 1. try.
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.11:80
DEBUG:urllib3.connectionpool:http://192.168.1.11:80 "POST /stick HTTP/1.1" 200 128
DEBUG:pyrainbird:Response: {"jsonrpc": "2.0", "result":{"length":6, "data":"BF0001000000"}, "id": 16293}
DEBUG:pyrainbird:Response from line: BF0001000000
DEBUG:pyrainbird:Response: {'type': 'CurrentStationsActiveResponse', 'pageNumber': 0, 'activeStations': 16777216}

Je vais voir si cela vous le coup d'intégrer RainBird dans LD.
Merci de tes réponses.
C'est en cherchant que l'on trouve...
Al_Bla
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)