Buderus Logamatic 2107 Revision 3 2019

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

dewenni
Beiträge: 30
Registriert: 09.12.2019, 19:54
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von dewenni » 14.04.2020, 08:49

Gradios, danke für deine Arbeit!
Mein KM271 ist mittlerweile auch angekommen.

Sobald ich Zeit finde werde ich mich auch daran setzten. Mein Plan ist aber ein Wemos D1 zu nutzen anstelle des Raspi.
Das wäre von der Hardware nochmal etwas schlanker und müsste eigentlich genauso funktionieren.
Mal sehen...

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 16.04.2020, 12:09

moin,

ich habe inzwischen mqtt implementiert, statt die werte über die webseite auszugeben.
was ich noch nicht verstanden habe, wie komme ich an die betriebswerte, also dieses hier z.b.:
8000:0 müsste HK1_Betriebswerte1 sein
hast du da nochmal ein beispiel für mich black?

danke und vg
ben

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 27.04.2020, 14:18

Moin,

mqtt habe ich so gelöst:

publish.single("Heizung/log/WW-Soll",telegram[2], hostname="127.0.0.1")

Vielleicht hilft das jemanden.

VG
Ben

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 05.05.2020, 08:50

alfa75ben hat geschrieben:
16.04.2020, 12:09
was ich noch nicht verstanden habe, wie komme ich an die betriebswerte, also dieses hier z.b.:
8000:0 müsste HK1_Betriebswerte1 sein
hast du da nochmal ein beispiel für mich black?
moin,

könnte mir da nochmal jemand behilflich sein? habe da ein brett vorm kopf und komme nicht weiter.

vielen dank
ben

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von Black » 05.05.2020, 09:13

joah...

Code: Alles auswählen

        self.data ["HK1_BW1"]       ={"TEXT":"HK1 Betriebswerte 1",          "MQTT":"RM/HK1_BW1","LARRAY":self.ArrayBW1HK,"ACTION":(["WEBP","LOGNAME"])}
        self.data ["HK1_BW1.0"]     ={"TEXT":"HK1-BW1 Ausschaltoptimierung", "MQTT":"RM/HK1_AUSSCHALTOPT","ACTION":([])}      
        self.data ["HK1_BW1.1"]     ={"TEXT":"HK1-BW1 Einschaltoptimierung", "MQTT":"RM/HK1_EINSCHALTOPT","ACTION":([])}       
        self.data ["HK1_BW1.2"]     ={"TEXT":"HK1-BW1 Automatik",            "MQTT":"RM/HK1_AUTOMATIK","ACTION":([])} 
        self.data ["HK1_BW1.3"]     ={"TEXT":"HK1-BW1 Warmwasservorrang",    "MQTT":"RM/HK1_WWVORRANG", "ACTION":([])}      
        self.data ["HK1_BW1.4"]     ={"TEXT":"HK1-BW1 Estrichtrocknung",     "MQTT":"RM/HK1_ESTRICHTROCKNUNG","ACTION":([])}        
        self.data ["HK1_BW1.5"]     ={"TEXT":"HK1-BW1 Ferien",               "MQTT":"RM/HK1_FERIEN","ACTION":([])}       
        self.data ["HK1_BW1.6"]     ={"TEXT":"HK1-BW1 Frostschutz",          "MQTT":"RM/HK1_FROSTSCHUTZ","ACTION":([])}      
        self.data ["HK1_BW1.7"]     ={"TEXT":"HK1-BW1 Manuell",              "MQTT":"RM/HK1_MANUELL","ACTION":([])}
black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 05.05.2020, 16:18

danke black,

aber wie kommen die daten denn in self.data ["HK1_BW1.0"]?

ich hab das ja bis jetzt so:

if len(telegram)==3:
# Das ist die Länge eines EreignisTelegramms
ID= telegram [0:2]
# Und nu gucken wir mal, was die Telegramme so hergeben
if ID==b"\x80\x02":
print ("VL-Soll : ",telegram[2])
publish.single("Heizung/log/VL-Soll",telegram[2], hostname="127.0.0.1")

und da müsste ich ja nicht an 8002, sondern an 8000 bzw. das erste bit davon und das raff ich nicht :lol:

gruß
ben

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von Black » 05.05.2020, 16:23

das sind die Bits: Betriebswerte 1 ist ein byte und wird interpretiert als diese Bits die ich da aufgeführt haben.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 07.05.2020, 10:12

moin black,

ich bin da echt zu blöde zu. meine programmierkenntnisse sind auch eher gegen null :( vorallem in python

if len(telegram)==3:
# Das ist die Länge eines EreignisTelegramms
ID= telegram [0:2]
#print (telegram)
# Und nu gucken wir mal, was die Telegramme so hergeben
if ID==b"\x80\x00":
print ("bla: ", telegram[2])
elif ID==b"\x80\x02":
print ("VL-Soll : ",telegram[2])
publish.single("Heizung/log/VL-Soll",telegram[2], hostname="127.0.0.1")

telegram[2] ist type int mit dem wert 4. wie komme ich denn an den byte wert, bzw. die bit werte?
vielleicht kannst du mir da mit einem code beispiel behilflich sein?

sorry für mein generve :(

vg
ben

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von Black » 07.05.2020, 11:44

bitarray auswerten:

if (telegram [x] & 1) != 0:
# ich bin bit 0, tue was
if (telegram [x] & 2) != 0:
# ich bin bit 1, tue was
if (telegram [x] & 4) != 0:
# ich bin bit 2, tue was
usw....
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

alfa75ben
Beiträge: 9
Registriert: 01.04.2020, 12:35

Re: Buderus Logamatic 2107 Revision 3 2019

Beitrag von alfa75ben » 07.05.2020, 15:11

if len(telegram)==3:
# Das ist die Länge eines EreignisTelegramms
ID= telegram [0:2]
print (telegram)
# Und nu gucken wir mal, was die Telegramme so hergeben
if ID==b"\x80\x00":
print ("byte: ", telegram[2])
if (telegram [2] & 1) != 0:
print ("bit1 : ", telegram[2] & 1)
if (telegram [2] & 2) != 0:
print ("bit2 : ", telegram[2] & 2)
if (telegram [2] & 3) != 0:
print ("bit3 : ", telegram[2] & 3)
if (telegram [2] & 4) != 0:
print ("bit4 : ", telegram[2] & 4)
if (telegram [2] & 5) != 0:
print ("bit5 : ", telegram[2] & 5)
if (telegram [2] & 6) != 0:
print ("bit6 : ", telegram[2] & 6)
if (telegram [2] & 7) != 0:
print ("bit7 : ", telegram[2] & 7)
if (telegram [2] & 8) != 0:
print ("bit8 : ", telegram[2] & 8)
elif ID==b"\x80\x01":
print ("byte: ", telegram[2])
if (telegram [2] & 1) != 0:
print ("bit1 : ", telegram[2] & 1)
if (telegram [2] & 2) != 0:
print ("bit2 : ", telegram[2] & 2)
if (telegram [2] & 3) != 0:
print ("bit3 : ", telegram[2] & 3)
if (telegram [2] & 4) != 0:
print ("bit4 : ", telegram[2] & 4)
if (telegram [2] & 5) != 0:
print ("bit5 : ", telegram[2] & 5)
if (telegram [2] & 6) != 0:
print ("bit6 : ", telegram[2] & 6)
if (telegram [2] & 7) != 0:
print ("bit7 : ", telegram[2] & 7)
if (telegram [2] & 8) != 0:
print ("bit8 : ", telegram[2] & 8)

als ergebnis bekomme ich dann das:

b'\x80\x00\x04'
byte: 4
bit4 : 4
bit5 : 4
bit6 : 4
bit7 : 4
b'\x80\x01\x03'
byte: 3
bit1 : 1
bit2 : 2
bit3 : 3
bit5 : 1
bit6 : 2
bit7 : 3

interessiert der int wert? oder ist das bit, wo irgendwas drin steht aktiv? laut deinem mapping kann das dann aber nicht passen:

["HK1_BW1.1"] Ausschaltoptimierung
["HK1_BW1.2"] Einschaltoptimierung
["HK1_BW1.3"] Automatik
["HK1_BW1.4"] Warmwasservorrang
["HK1_BW1.5"] Estrichtrocknung
["HK1_BW1.6"] Ferien
["HK1_BW1.7"] Frostschutz
["HK1_BW1.8"] Manuell

kann/darf ich dich irgendwie anders erreichen? muss hier ja nicht weiter deinen thread vollspammen.

danke und gruß
ben

Antworten

Zurück zu „Projektvorstellungen“