summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dist/ebus-0.2_r1652-py2.5.eggbin0 -> 10378 bytes
-rw-r--r--ebus/__init__.py26
2 files changed, 16 insertions, 10 deletions
diff --git a/dist/ebus-0.2_r1652-py2.5.egg b/dist/ebus-0.2_r1652-py2.5.egg
new file mode 100644
index 0000000..8ff5829
--- /dev/null
+++ b/dist/ebus-0.2_r1652-py2.5.egg
Binary files differ
diff --git a/ebus/__init__.py b/ebus/__init__.py
index 94b0b32..eadb397 100644
--- a/ebus/__init__.py
+++ b/ebus/__init__.py
@@ -91,10 +91,10 @@ class fields:
else:
return None
-
+#Pflichfelder: primary, secondary, name, id, format (auch leer)
packetDescription = [
# Service 0x05 (Brennersteuerbefehle)
- {'primary':0x5, 'secondary':0x3, 'name':'Betriebsdaten des Feuerungsautomaten an den Regler Block1','format': {
+ {'primary':0x5, 'secondary':0x3, 'name':'Betriebsdaten des Feuerungsautomaten an den Regler Block1','id':'betriebsdatenRegler1', 'format': {
'blocknumber':fields.Byte(0),
#('errorCode':fields.Byte(1),
'stellgradKesselleistung':fields.Byte(3),
@@ -109,7 +109,7 @@ packetDescription = [
#'gemeinsameVorlaufTemperatur':fields.Data1c(5)),
}},
- {'primary':0x5, 'secondary':0x7, 'name':'Betriebsdaten des Reglers an den Feuerungsautomaten','format': {
+ {'primary':0x5, 'secondary':0x7, 'name':'Betriebsdaten des Reglers an den Feuerungsautomaten','id':'betriebsdatenFeuerungsautomat','format': {
'betriebszustand':fields.ByteEnum(0, {
0x00:'Brenner Abschalten',
0x01:'Keine Aktion',
@@ -133,7 +133,7 @@ packetDescription = [
'brauchwasserSollwert':fields.Data1c(7)
}},
# Service 0x07 (Systemdatenbefehle)
- {'primary':0x7, 'secondary':0x0, 'name':'Datum/Zeit - Meldung eines eBUS Masters','format': {
+ {'primary':0x7, 'secondary':0x0, 'name':'Datum/Zeit - Meldung eines eBUS Masters', 'id':'datumZeit', 'format': {
'ausenTemperatur':fields.Data2b(0),
'sekunden':fields.Bcd(2),
'minuten':fields.Bcd(3),
@@ -143,10 +143,12 @@ packetDescription = [
'wochentag':fields.Bcd(7),
'jahr':fields.Bcd(8)}},
- {'primary':0x7, 'secondary':0x0, 'name':'Datum/Zeit - Meldung eines eBUS Masters'},
- {'primary':0x7, 'secondary':0x4, 'name':'Identifikation'},
+ {'primary':0x7, 'secondary':0x4, 'name':'Identifikation', 'id':'identifikation', 'format':{
+ }},
+
# Service 0x08 (Reglerbefehle)
- {'primary':0x8, 'secondary':0x0, 'name':'Sollwertübertragung des Reglers an andere Regler'},
+ {'primary':0x8, 'secondary':0x0, 'name':'Sollwertübertragung des Reglers an andere Regler', 'id':'sollwertÜbertragungRegler', 'format':{
+ }},
# Response
#p[0] = Einheit (1=>Liter, 2=>Kubik)
@@ -154,8 +156,10 @@ packetDescription = [
#p[2] = 10^2
#p[3] = 10^4
#p[4] = 10^6
- {'primary':0x3, 'secondary':0x8, 'name':'Gesamtbrennstoffmengenzähle lesen'},
- {'primary':0x50, 'secondary':0x17, 'name':'Solar Daten', 'format':{
+ {'primary':0x3, 'secondary':0x8, 'name':'Gesamtbrennstoffmengenzähler lesen', 'id':'brenstoffMengeLesen', 'format':{
+ }},
+
+ {'primary':0x50, 'secondary':0x17, 'name':'Solar Daten', 'id': 'solarDaten', 'format':{
'solarPumpe':fields.Bit(0),
'tempKollektor':fields.Data2c(2),
'tempWarmwasserSolar':fields.Data2c(4)}},
@@ -236,6 +240,7 @@ class EbusReader(asynchat.async_chat):
self.packetIndex = 0
self.buf = ""
+ self.debug = False
def collect_incoming_data(self,data):
for it in range(len(data)):
@@ -285,7 +290,8 @@ class EbusReader(asynchat.async_chat):
payloadLength = ord(data[4])
payload = data[5:5+payloadLength]
### DEBUG ###
- print "\033[1;31m%.2x %.2x\033[1;m \033[1;33m%.2x %.2x\033[1;m \033[1;30m%.2x\033[1;m \033[1;45m%s\033[1;m" % (source,destination,primaryCommand,secondaryCommand,payloadLength,formatHex(payload))
+ if self.debug:
+ "\033[1;31m%.2x %.2x\033[1;m \033[1;33m%.2x %.2x\033[1;m \033[1;30m%.2x\033[1;m \033[1;45m%s\033[1;m" % (source,destination,primaryCommand,secondaryCommand,payloadLength,formatHex(payload))
p = None
if sourceDevice[0]['type'] == 'master' and destinationDevice[0]['type'] == 'master':