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####
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
Comment écrire des commentaires et des commentaires Python