[PYTHON] Générer automatiquement EDT pour le message ECHONET

Objectif

code

MessageGenerator4ECHONET-Lite.py


#! /uer/bin/env python
# -*- coding: utf-8 -*-

import sys

#valeur initiale
setget_flag = True      # True:set,False:Je ne sais pas si 0 ou 1, qui représente le temps d'obtention, est plus rapide.
i = 0                   #compteur
ipv6Addr = "AAAAAAAA"   #Valeur fictive. C'est en fait plus long, mais cela n'a pas d'importance pour le moment, alors laissez-le tel quel.

GET_E2 = b"\x10\x81\x12\x34\x05\xFF\x01\x02\x88\x01\x62\x01\xE2\x00"
#Historique des valeurs de mesure de puissance intégré 1(Mesure positive)(EPC=0xE2)
SET_E5_base = "1081123405FF010288016201E501"
#Date de collecte de l'historique d'accumulation 1(0:Le jour 1~99:Jours de la veille)(EPC=E5)

#L'instruction while est utilisée pour la commodité de la destination de l'application.
while 1:
    if setget_flag == True:
        #Fonctionnement au moment de la prise
        #Créer un message E5
        SET_E5 = bytes.fromhex(SET_E5_base + '{:02X}'.format(i))
        command = "SKSENDTO 1 {0} 0E1A 1 {1:04X} {2}".format(ipv6Addr, len(SET_E5), SET_E5)
        setget_flag = False  #Faux drapeau:obtenir
        print(command)
    else :
        #Comportement à get
        #Le message E2 est le même à chaque fois, alors laissez-le tel quel
        command = "SKSENDTO 1 {0} 0E1A 1 {1:04X} {2}".format(ipv6Addr, len(GET_E2), GET_E2)
        setget_flag = True   #Définissez l'indicateur sur True:mettre en place
        i += 1               #Incrément du côté du message à envoyer plus tard
        print(command)
    #Lorsque le nombre de télégrammes est de 100, l'hiver de fil se termine
    if i == 100:
        print("Fin d'hiver 100e fil")
        sys.exit()  ####Itofuyu####

résultat

SKSENDTO 1 AAAAAAAA 0E1A 1 000F b'\x10\x81\x124\x05\xff\x01\x02\x88\x01b\x01\xe5\x01\x00'
SKSENDTO 1 AAAAAAAA 0E1A 1 000E b'\x10\x81\x124\x05\xff\x01\x02\x88\x01b\x01\xe2\x00'
~réduction~
SKSENDTO 1 AAAAAAAA 0E1A 1 000F b'\x10\x81\x124\x05\xff\x01\x02\x88\x01b\x01\xe5\x01c'
SKSENDTO 1 AAAAAAAA 0E1A 1 000E b'\x10\x81\x124\x05\xff\x01\x02\x88\x01b\x01\xe2\x00'
Fin d'hiver 100e fil

Considération

Matériel de référence

Comment écrire des commentaires et des commentaires Python

Postscript

Recommended Posts

Générer automatiquement EDT pour le message ECHONET
Générer automatiquement un dictionnaire polaire utilisé pour l'analyse des émotions
Générer des tailles personnalisées pour ArtRage4