[PYTHON] EDT für ECHONET-Nachricht automatisch generieren

Zweck

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####

Ergebnis

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

Erwägung

Referenzmaterial

So schreiben Sie Python-Kommentare und -Kommentare

Nachtrag

Recommended Posts

EDT für ECHONET-Nachricht automatisch generieren
Generieren Sie automatisch ein Polarwörterbuch für die Emotionsanalyse
Generieren Sie benutzerdefinierte Größen für ArtRage4