code
MessageGenerator4ECHONET-Lite.py
#! /uer/bin/env python
# -*- coding: utf-8 -*-
import sys
#Ursprünglicher Wert
setget_flag = True # True:set,False:Ich weiß nicht, ob 0 oder 1, was die Zeit des Erhaltens darstellt, schneller ist.
i = 0 #Zähler
ipv6Addr = "AAAAAAAA" #Dummy-Wert. Es ist eigentlich länger, aber es spielt im Moment keine Rolle, also lass es so wie es ist.
GET_E2 = b"\x10\x81\x12\x34\x05\xFF\x01\x02\x88\x01\x62\x01\xE2\x00"
#Integrierter Leistungsmessverlauf 1(Positive Messung)(EPC=0xE2)
SET_E5_base = "1081123405FF010288016201E501"
#Erfassungsdatum der Akkumulationshistorie 1(0:Am Tag 1~99:Tage des Vortages)(EPC=E5)
#Die while-Anweisung wird zur Vereinfachung des Anwendungsziels verwendet.
while 1:
if setget_flag == True:
#Betrieb zum Zeitpunkt der Einstellung
#E5-Nachricht erstellen
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 #Falsche Flagge:bekommen
print(command)
else :
#Verhalten bei get
#Die E2-Nachricht ist jedes Mal dieselbe. Lassen Sie sie also unverändert
command = "SKSENDTO 1 {0} 0E1A 1 {1:04X} {2}".format(ipv6Addr, len(GET_E2), GET_E2)
setget_flag = True #Setzen Sie das Flag auf True:zu setzen
i += 1 #Inkrement auf der Nachrichtenseite, um später gesendet zu werden
print(command)
#Wenn die Anzahl der Telegramme 100 beträgt, endet der Thread-Winter
if i == 100:
print("100 mal Faden Winter Ende")
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'
~Kürzung~
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'
100 mal Faden Winter Ende
So schreiben Sie Python-Kommentare und -Kommentare