Buderus EMS-"Gateway" mit PIC18F / Sammelbestellung

#2931303
Lesenswert?

Moin!


@spooniester:
ein Telegramm mit
1
14 10 00 18
 gibts bei mir nicht !?


@Niffko: Vielen dank, aber woher weißt du das? Geraten kanns ja wohl 
nicht sein, denn ein einzelnes '08' Byte zuzuordnen wäre etwas zu 
einfach, oder? Ne Liste von dir interessiert mich immer mehr ;-)

Beginn der Wartungsmeldung ist tatsächlich der 14. als Tag.

Gruß
Jens
Gast #2931564
Lesenswert?

Moin Jens,

Jens H. schrieb:
> Ne Liste von dir interessiert mich immer mehr ;-)

Ist auf keiner Liste ... wurde exklusiv für dich recherchiert ;)
Meine verwendeten Telegrammdaten hatte ich ein Stück weiter oben schon 
mal gepostet ... sind aber nur die bekannten Standardsachen.

Jens H. schrieb:
> ... woher weißt du das? Geraten kanns ja wohl
> nicht sein ...

Im Nachhinein war's jetzt nicht sooo schwierig.
Beginn Wartungsintervall auf Tag X gestellt. Anschließend Systemzeit auf 
Tag X-1 23:59 gestellt. Der Rest war dann Auswerten der nach dem 
Tageswechsel auflaufenden Telegramme.


//Niffko
#2931597
Lesenswert?

Ah ok .. du hast das bei dir gesetzt/gelöscht und dann nachgesehen .. 
danke für die Mühe :)

Hat evtl. auch noch jemand eine Idee wie das Byte 9 unter '08 00 34 00' 
auszuwerten ist? Dort soll Tag/Nachtbetrieb, Heizen und Betriebsart 
hinterlegt sein (Bit 1, 4, 6)... Zustand wäre also 0 oder 1.
Heizen 0/1 kann ich mir noch erklären, beim Rest müsste ich raten.
0 = Nacht, 1 = Tag ? Und was ist mit Betriebsart gemeint? Auf Grund der 
restlichen Daten in dem Telegramm wirds wohl Warmwasser sein!?

Gruß
Jens
Gast #2932871
Lesenswert?

Jens H. schrieb:
> Und was ist mit Betriebsart gemeint? Auf Grund der
> restlichen Daten in dem Telegramm wirds wohl Warmwasser sein!?

bit

0: 0 nacht / 1 tag
1: ?
2: ?
3: 0 hk / 1 ww
4: ?
5: 0 keine Wärmeanforderung / 1 tag/nachtabsenkung
6: ?
7: ?

Bit 5 bezieht sich nicht auf die Pumpe.



Grüße.
Gast #2955178
Lesenswert?

Hallo Ferdinand,

vermutlich wird mein EMS-Gateway wohl nicht für Deine Zwecke geeignet 
sein.
Der Original Gateway von Buderus kann zwei verschiedene Bussysteme. 
Einmal den 4000er Bus (Eco-CAN-Bus???) und später auch den EMS-Bus.

Mein Gateway kennt nur den EMS-Bus.

Falls Ich da falsch liegen sollte oder Deine Heizung doch den EMS-Bus 
hat dann bitte noch mal melden.

Gruß
IngoF
#2958377
Lesenswert?

So, ich noch mal mit einer Frage zu den geloggten Werten.

Bei Ansaugtemperatur und Abgastemperatur habe ich gefühlt echt hohe 
Werte !?
Sind die realistisch?
Ansaug + Abgas zw. 3000 und 4000 !?


Sollten sich doch hier finden:

08 00 18 00 <Byte 29><Byte 30> = Ansaugluft
08 00 19 00 <Byte 8><Byte 9> = Abgastemp

Was habt ihr dort für Werte ??



Gruß
Jens
Gast #2958446
Lesenswert?

Jens H. schrieb:
> Bei Ansaugtemperatur und Abgastemperatur habe ich gefühlt echt hohe
> Werte !?
> Sind die realistisch?
> Ansaug + Abgas zw. 3000 und 4000 !?

Sind das evtl. 30.00 und 40.00 Grad? Du Zuluft wird ja im Rohr 
vorgewärmt und die Wärme der Abluft wird noch an den Rücklauf gegeben. 
Ändern sich die Werte je nach Brennerleistung?


Grüße.
Gast #2958531
Lesenswert?

Hallo,

Jens H. schrieb:
> Allerdings ist in den Unterlagen vermerkt das die Auflösung 0,1°C
> beträgt und der Wert somit passt.

Wie sehen die Hex-Werte aus und welche Unterlagen?

Bei 400°C sollte sich die Farbe/Plastikbezug von der Abgaszuleitung 
langsam aber stetig verflüchtigen ;-).



Grüße.
#2958926
Lesenswert?

Ich habe eine Gastherme ... Buderus GB162 und laut Technischen 
Informationen (Logamatic EMS Parameter und Monitordaten) vom RS232 
Gateway sind es die von mir genannten Bytes.

08 00 18 00 27 01 7f 64 1d 09 01 25 62 80 00 02 24 01 5d 00 51 15 2d 48 
00 c8 00 02 00 68 00 1f

Das wäre z.b. das Telegramm .. Ansaugluft ist Byte 29 + 30

Laut Doku ist 29 = Byte2 und 30 = Byte1
#2959115
Lesenswert?

Naja, aber alle anderen Temperaturwerte setzen sich auch so zusammen ...
1
#define RL_IST_H_0818     17
2
#define RL_IST_L_0818     18    
3
#define VL_IST_H_0818      5
4
#define VL_IST_L_0818      6

Laut Beschreibung ist da ebenfalls die Reihenfolge Byte2 = 17, Byte1 = 
18 bzw. Byte2 = 5 und Byte1 = 6 und die Werte passen da ja auch oder ist 
das dann nur Zufall ?
#2959265
Lesenswert?

Moin Jens,

Jens H. schrieb:
> Ich weiß ja das es so wie du geschrieben hast mehr Sinn ergibt ...

Rudi hat im Grunde das gleiche geschrieben wie du. Hast du 
möglicherweise nicht beachtet, dass der Byteindex nullbasiert ist?

Die ganze Rechnerei wird aber nichts nützen, da dein GB162 gar keinen 
Ansaugluftsensor hat. Solltest du dennoch einen finden, bitte 
fotografieren und Bild einstellen ;)


//Niffko
#2959423
Lesenswert?

Nullbasierend? Du meinst vom Datensatz her? Das ich da bei 0 anfangen 
muss zu zählen ist mir klar ...

Byte 29 = 68 und Byte 30 = 00 ... das hatte ich auch.



Die GB162 hat keinen Ansaugluftsensor ... hmmm ... dann frage ich mich, 
was dort für Werte auftauchen, denn die ändern sich definitiv und auch 
abhängig von der Brennerleistung. Hat die denn auch keinen 
Abgastemp.sensor? Weil da wäre das Prinzip ja dasselbe!? Wenn dort keine 
Sensoren dran hängen, sollte doch eigentlich 00 00 drin stehen, oder?


Gruß
Jens
#2959680
Lesenswert?

Jens H. schrieb:
> Byte 29 = 68 und Byte 30 = 00 ... das hatte ich auch.

Wo ist dann das Problem?!

Byte 29 = 0x68 = Byte1
Byte 30 = 0x00 = Byte2

Jens H. schrieb:
> (Byte2*256)+Byte1

(0x00*256)+0x68 = 0x68 = 104

Jens H. schrieb:
> Die GB162 hat keinen Ansaugluftsensor ... hmmm ... dann frage ich mich,
> was dort für Werte auftauchen

Ich mich auch. Werde mir das bei meinem GB142 mal anschauen, ich glaube 
da kamen an dieser Position auch Werte rein, obwohl kein Sensor 
vorhanden.

Jens H. schrieb:
> Hat die denn auch keinen Abgastemp.sensor?

Nope.




//Niffko
#2959777
Lesenswert?

Sorry Jens, war in Sachen Byte-Schieberei leider auf dem falschen 
Dampfer. Ich war die ganze Zeit bei der Umwandlung zweier Bytes in einen 
16-Bit-Wert auf dem AVR, hier steht in der Tat das L-Byte "links" und 
das H-Byte "rechts" im Speicher. Im EMS-Telegramm gilt Byte[n] = H-Byte, 
Byte[n+1] = L-Byte uns somit hast du Recht.

Niffko _ schrieb:
> Werde mir das bei meinem GB142 mal anschauen, ich glaube
> da kamen an dieser Position auch Werte rein ...

Auch falsch ... mein 18er-Frame geht nur bis Byte28.


//Niffko
#2959996
Lesenswert?

Jens H. schrieb:
> Aber vielleicht kommen wir ja irgendwie noch zu der Lösung ... ;-)

Jo ... kommen wir. Da ich nicht mit Ingo's Gateway arbeite, war's nicht 
ganz so einfach ... aber nach Durchsicht deines Telegramm-Dumps weiter 
oben, ist der Groschen dann gefallen.

Kleiner Tip: Schau dir nochmal genau an, wie die Gateway-Telegramme 
aufgebaut sind.




//Niffko
#2960176
Lesenswert?

Moin Jens,

Byte29 und Byte30 sind keine Daten, sondern die CRC und das BREAK!

Jens H. schrieb:
> 08 00 18 00 27 01 7f 64 1d 09 01 25 62 80 00 02 24 01 5d 00 51 15 2d 48
> 00 c8 00 02 00 68 00 1f
1
[...] 24 01 5d 00 51 15 2d 48 00 c8 00 02 00 68 00 1f
2
                                             ^^ ^^ ^^
3
                                              |  |  |_Telegrammlänge
4
                                              |  |_BREAK
5
                                              |_CRC

Habe leider im Thread keine Passage gefunden, in der dies beschrieben 
ist, aber nur so macht es (für mich) Sinn. Ingo???

Deine Telegrammdaten im RAW-Modus enden also - wie meine auch - bei 
Byte28, der Rest ist CRC, BREAK und Telegrammlänge.


//Niffko
Gast #2960243
Lesenswert?

Niffko _ schrieb:
> Habe leider im Thread keine Passage gefunden

Ja, Das Problem habe ich auch. Habe das irgendwo mal geschrieben und 
finde es nicht mehr wieder.

Das Break wird noch als 0x00 übertragen. Könnte eigfentlich auch 
wegfallen. Müsste dann nur meine andere Software anpassen. Dort wird das 
0x00 ignoriert aber wird trotzdem erwartet.

Gruß
IngoF
#2960659
Lesenswert?

Arghs ... stimmt, Break und Telegrammlänge kommt ja auch noch. Ich 
hatte nur geguckt ob hinten ein Byte bezgl. CRC dran hängt, aber nie 
überprüft ob das auch stimmt. Jetzt macht das natürlich auch Sinn ... 
schon klar das es "komische" Werte waren, wenn ich das CRC und Break 
Byte genommen habe.

Danke für die Aufklärung!


Jens
#2965256
Lesenswert?

Ich hätte dann noch die gleiche Frage zur Abgastemperatur ...

08 00 19 00 00 3e 01 81 80 00 00 00 00 3f 00 83 3e 0d 78 6d 00 00 00 0c 
7f 7b 00 75 55 00 00 6e 00 21

Sollte auf Byte 8 + 9 Liegen ... wenn auch hier kein Sensor verbaut ist, 
was wird dann dort übertragen? Dieses Mal kann es ja nicht CRC oder 
Break sein ;-)



Gruß
Jens
#2977684
Lesenswert?

Zunächst mal ein gesundes neues Jahr @all!


@Ingo
Bräuchte mal den Rat eines nativen Pic-Users ;)

Eigentlich auf AVR zu hause, habe ich aufgrund der USB-Host 
Funktionalität erstmalig auf einen Pic24 gewechselt. Habe derzeit etwas 
Probleme bei der Break-Erkennung. Die Behandlung des Frame-Errors in 
Bezug auf die Daten im Hard-FIFO ist irgendwie etwas undurchsichtig. 
Habe zwar schon etwas Licht ins Dunkel gebracht, aber vielleicht kannst 
du kurz beschreiben, wie du das in deiner Firmware handhabst ... nur um 
auszuschließen, dass ich mich hier mangels Pic-Erfahrung irgendwo 
sinnlos festrammele.



//Niffko
Gast #2977795
Lesenswert?

Hallo Niffko,

Wünsche auch allen ein frohes neues Jahr...

Beim E-UART ist eine Breakerkennung eingebaut.
Einfach den UART pollen bis Daten vorhanden sind oder am besten über 
Interrupt auf empfangene Daten reagieren.

Wenn ein Break empfangen wurde ist das FERR-Bit in RCSTA gesetzt. Wenn 
mehrere Bytes im Buffer waren kann man nicht erkennen welches Bytes das 
Break war (gelöschtes STOP-Bit)

Nach FERR-Bit wird wieder gelöscht nachdem man das Empfangsregister 
(RCREG) ausgelesen hat und einen neues Byte empfangen hat.

Bei mir habe ich das über den Interrupt nach jedem empfangenen Byte 
erledigt und die Empfnagsdaten in meinen Buffer geschoben.

Hoffe ich konnte Dir weiterhelfen...
#2978034
Lesenswert?

Hi Ingo,

danke für deine Erläuterung. Habe das Problem, kurz bevor deine Antwort 
kam, selbst lösen können. Hauptproblem war, dass ich das FERR-Bit nach 
dem Auslesen des Empfangsregister abgefragt habe - das gehört anders 
herum.

Jedenfalls macht der Pic jetzt was er soll ... ist übrigens ein 
Stand-Alone USB-Stick EMS-Logger geworden.


//Niffko
Gast #2983114
Lesenswert?

IngoF schrieb:
> Was für ein Datenformat wird denn geloggt?

Momentan noch ASCII-HEX, wenn alles läuft werde ich wahrschinlich auf 
RAW gehen - mal sehen, wie lange die 4GB auf dem Stick reichen ;)

Es werden alle Telegramme geloggt, jeweils mit Unix-Timestamp. Der 
nächste Schritt wird eine C#-App sein, die das Ganze dann auf dem PC 
graphisch darstellt.

Kann mir gut vorstellen, dass mir der Logger auch mal im Job weiterhilft 
... bei schwer reproduzierbaren Fehlerbilern einfach mal den Logger an 
die Servicebuchse stöpseln und ein paar Tage mitlaufen lassen.


//Niffko
Gast #2984014
Lesenswert?

Das wäre schön....

habe das bei meiner Heizung auch gemerkt.

Der Heizungsfachmann konnte nicht genau sagen wodran es lag. Wurde der 
Reihe nach alles ausgetauscht. Mit dem günstigsten Teil angefangen 
(Drucksensor) bis zum teursten Teil (Pumpe). Natürlich war es dann das 
letzte Teil.

Dann wird die Heizung schon mit Elektronik vollgestopft und zu erkennen 
welches Bauteil defekt ist.

Hatte auch ein ein paar Mitschitte gemacht aber habe auch nicht wirklich 
viel erkennen können. Die Heizung hat mehrere Versuche unternommen und 
ist dann abgebrochen.

Die Pumpe hat doch einen Drehzahlsensor, oder? Wäre es dann nicht 
einfach gewesen festzustellen dass die Pumpe manchmal nicht anläuft?

Gruß
Ingo
Gast #2984050
Lesenswert?

IngoF schrieb:
> Die Pumpe hat doch einen Drehzahlsensor, oder? Wäre es dann nicht
> einfach gewesen festzustellen dass die Pumpe manchmal nicht anläuft?

Nein, eigentlich nicht. Die Heizung gibt per PWM die Drehzahl vor. Du 
hättest es aber am Druck sehen können das bei eingeschalteter Pumpe 
keine Druckänderung vorhanden ist.


Grüße.
OP #3146745
Lesenswert?

Hallo,

habe gerade mal eine Umfrage per Mail an alle Interessenten geschickt.
Wer noch keine Mail bekommen haben sollte kann sich ja noch mal melden.

Vielleicht auch mal den SPAM-Filter checken...

Vielleicht gibt es noch mal eine letzte Auflage...

Gruß
IngoF
#3147013
Lesenswert?

Moin die Herren Entwickler!!!
Erstmal auch noch mal kurz von mir HUT ab vor der coolen 
Entwicklungsarbeit die Ihr hier geleistet habt (seit 2009!! Respekt!!!)

Ich komme zu dem Thema EMS an sich aus der Sicht vom KNX- Bus.
Ich habe den KNX- Bus und halt die EMS- Buderus Steuerung und möchte 
diese Daten im KNX Anzeigen lassen.
Dadurch würde ich auch gerne eine Platine kaufen, aber habe noch mal ein 
paar Fragen:
(bitte entschuldigt dass ich nicht ganz so pfiffig bin wie Ihr!!):
1.) Ihr setzt ja mit „Ingo“- Platine den seriellen Bus im Can- Bus auf.
     Wäre es möglich, natürlich nicht um sonst, den EMS-Bus in den
     KNX- Bus  umzusetzen?
     Was wäre dazu notwendig? (Hardware, Hardware + Software, oder
     beides oder geht es gar nicht?)
2.) Wenn ich auch bei eurer Platine bleiben muss so steht es im
    KNX- Forum muss man die Software-
    Anbindung über die „openHAB“ Plattform machen.
    Hat jemand dazu Erfahrung?

Meine E-Mailadresse ist datenemail (ät) web (punkt) de
@ Ingo: Bezüglich der Kosten bitte E-Mailen, dann überweise ich Dir das 
Geld!!!
Vielen DANK!!!
Gast #3147058
Lesenswert?

Siehe auch meine Antwort in:

http://knx-user-forum.de/openhab/26765-anbindung-eine-buderus-heizung-
ems-bus.html#post311107

Die Anbindung der Platine an OpenHAB (http://code.google.com/p/openhab/) 
ist meine Idee bzw. Vorhaben, das kann aber dauern - im besten Fall ca. 
3 Monate, im ungünstigsten Fall wird's nie fertig, wenn andere Dinge 
dazwischen kommen. Ist eben ein Hobbyprojekt. Falls ich durchhalte wird 
dann OpenHAB bei mir auf einem Rasberry PI laufen und auch noch andere 
Dinge wie Jalousien steuern.

Theoretisch kann die Platine direkt als EMS/KNX Brücke fungieren (mit 
einen Zusatzinterface wie 
http://freebus.org/content/freebus-grundschaltung. Dazu ist aber eine 
neue Software nötig, die das KNX Protokoll implementiert und die ist 
nicht mal an einem Wochenende geschrieben.
Jemand profesionell damit zu beauftragen ist eigentlich unbezahlbar - 
dafür bekommst Du warscheinlich eine ganze Heizung.

Grüße

Jürgen
#3147159
Lesenswert?

@ Jürgen: Kurze Zusammenfassung mit den Daten aus den knx- Forum:
Ingo’s EMS- Platine hat die Schnittstelle:
- zum EMS auf USB/CAN u. I2C
- über die Firmware geht EMS auf Seriell über USB
- über ein Terminalprogramm kann die Protokolle lesen u. senden.

Du würdest gerne machen damit:
- als Treiber für I2C Relaiskarten nutzen
- und den CAN- Bus als „Hausbus nutzen“

Fehlen dazu tut noch:
- die CAN- Anbindung in OpenHAB

Der Unterschied zwischen Deiner und meiner Idee/ meinem Bus ist:
- Du möchtest Zugriff auf den CAN- Bus über OpenHAB haben
- OpenHAB wäre der Master, könnte aber Heizungsparameter aus/ zum
  KNX Auslösen.

Info zu meiner KNX- Steuerung:
- Mache an sich eine Einzelraumregelung, d.h. jeder Heizkörper hat
  ein „Steuerkopf“ zum EIB
- pro Raum sitzt ein Raumregler mit Temperaturfühler, dieser steuert an
  sich die Heizung
Würde gerne mit EMS, durch das zu entwickelnde Gateway  machen:
- wie erwähnt die ganzen Kenndaten der Heizung sehen und Visualisieren
  (habe dazu einen Gira- Homeserver)
- Mein RC30 ersetzen, bzw. vom App aus (gibt ein Gira App dazu)
  die eingestellte Raumtemp. reduzieren.

Wenn ich Dich recht verstehe das ist die Aufgabe für mich
(bzw. Leute die den Ansatz wie ich habe) folgendes:
A) Ingo’s Platine mit der Freebus Grundschaltung EIB TP Bus zu
   „verheiraten“
    Frage als Laie: Geht das so einfach oder muss Ingo’s Paltine schon
                    umgebaut werden?
B) Wohl die größte Herausforderung: Jemanden finden der die Software
                                    für das KNX- Protokoll implementiert

Kann man dies als erste Zusammenfassung so stehen lassen??
DANKE erstmal Jürgen!!!
Gast #3147194
Lesenswert?

Hallo!

Der RC30 ist aber die Intelligenz der Heizung. Ich denke, die Therme 
stellt die Arbeit ein, wenn der RC30 nicht regelmäßig die Sollwerte an 
den BC10 sendet (ggf. geht Notbetrieb). Du müsstest also selbst einen 
PID-Regler in Software implementieren. Wenn der abstürzt, ist das Haus 
kalt.
Ich würde z.B. gerne die Heizung runterfahren, wenn ein sonniger Tag 
bevorsteht, da wir große Fenster haben und sich das Haus aufheizt. Dazu 
kann man z.B. die Soll-Werte im RC30 beeinflussen.

A) Die Freebus-Schaltung kann direkt an die als Steckkontakte 
herausgeführten Ports des Mikrokontrollers angeschlossen werden. Für die 
paar Bauteile würde ich einfach eine Universalleiterplatte nehmen (wenn 
man nicht selbst die Boards malt und ätzt).

B) Das stimmt ;). Es haben sich aber schon ein paar andere Leute mit EIB 
und Mircocontrollern befasst. Man findet bestimmt auch 
Programmierbeispiele.
PS: Für Anfänger: http://www.sprut.de/electronic/pic/index.htm

vg

Jürgen
Gast #3147239
Lesenswert?

Und eine andere Variante, die mit IPSymcon, dem E-Bus-Manager und einem 
preiswerten E-Bus-Adapter ist nicht möglich?

Da kann man E-Bus-Meldungen und Befehle in den KNX-Bus recht einfach 
schreiben und kombinieren.

Hat auch noch 'ne Visualisierung.
LG Jochen
Gast #3147260
Lesenswert?

Da müsste man mal die Schaltungen un Protokolle vergleichen:

http://www.eservice-online.de/eBus/
http://www.eservice-online.de/eBus/eBUS-Koppler-Ethernet.html
http://ebus.webhop.org/twiki/bin/view.pl/EBus/EBusKonverter
http://www.ip-symcon.de/forum/threads/10710-eBus-Telegramme-auswerten-Heizung-Solar

Vieleicht sieht jemand, der sich mir EMS befasst hat auf Anhieb, ob EMS 
un EBUS vieleicht das Gleiche sind ...
Dann würde es natürlich einfacher gehen.

vg

Jürgen
#3147268
Lesenswert?

@Jürgen: .
- Denke ich meine das mit dem RC30 wie Du: Bleibt wo er ist und ich
  möchte Ihn nur beeinflussen
- Danke für Dienen Link zu den MircoControllern, sehr spannend, nur
  wollte ich nicht so etwas neues Lernen (muss schon für den Gira
  xml u.Python aneignen)
@ Jochen:
- Der eBus ist denke ich ein eigenständiger Thermenbus wie
  z.B. von Wolf. Muss man nicht auch hier dann
  von EMS auf eBus gehen und dann auf KNX gehen? (auch wenn hier die
  Programmierung einfacher ist)

P.S. IPSymcon sieht auch spannend aus!!!
Dieter
#3147350
Lesenswert?

Darf ich mal ne dumme Frage stellen?
Ich möchte mich hier mal kurz wiederholen:
- zum EMS auf USB/CAN u. I2C
- über die Firmware geht EMS auf Seriell über USB

Also an sich stehen die EMS Telegramme (was welcher wie bedeutet) über
http://wiki.neo-soft.org/index.php/Heizungsschnittstelle/ServiceKey
zur Verfügung (wobei ich die diese Daten nach der .pdf Datei und der 
Seite noch nicht ganz verstehe)?

Und über die Firmware steht mir eine Serielle Schnittstelle (RS 232?) 
zur Verfügung?

Kann ich damit nicht meine KNX- Anbindung machen und in meinem Gira 
Homeserver über ein Logikbaustein, der Hex in die entsprechenden Daten 
umwandelt  (gibt es nach Rücksprache von meinem Ansprechpartner bei 
Gira) sichtbar/ darstellbar darstellen????

Dieter
Gast #3147466
Lesenswert?

Wenn der GIRA Homeserver beliebige Binärdaten senden und empfangen kann, 
müsste es gehen. Ansonsten wird noch ein Stück Software dazwischen 
nötig.

Die Logikbausteine sehen mir nach einer Verküpfung von Schaltbefehlen 
aus - also nach der Art "Wenns regnet UND Fenster ist offen DANN machs 
Fenster zu" aber nicht sende mal 01010010010100010010101 an COM1 ...

vg

Jürgen
#3147475
Lesenswert?

...ja gebe Dir recht.
Ansich können die Logikeditoren nicht viel, aber ich denke der Gira kann 
da mehr (siehe mal bitte den Anhang!!!).

Ich werde mir auf jeden Fall, wenn es Ingo zuläßt, seine Platine (hoffe 
voll bestückt, muss mir sonst einen zum Löten suchen) zulegen und dann 
mal spielen.
Muss noch ein wenig den Hex- String analysieren...
DANKE ERSTMAL!!!
Angehängte Dateien:
#3147906
Lesenswert?

@ Jürgen:
Ich schon gefreut, ne Hilfe bei YouTube und dann das!!!
Ne dann lieber Tron spielen (leider finde ich die Mucke garnicht so 
schlecht, na einige Teile davon.....)

An sich sind das alles nur Versuche es hinzubekommen, da ich nicht die 
in der Thematik drin bin
und euch da auch nicht helfen kann meinen Wunsch von EMS in KNX 
umzusetzen….
schniff Dieter
#3150482
Lesenswert?

Ingo F. schrieb:
> Hallo,
>
> habe gerade mal eine Umfrage per Mail an alle Interessenten geschickt.
> Wer noch keine Mail bekommen haben sollte kann sich ja noch mal melden.

> IngoF

Hallo Ingo,
leider bin ich schon wieder untergegangen, ich habe noch Interesse an 
einer Platine. Vielleicht kann man einen anderen Prozessor nehmen? Ich 
möchte einen Web-Server aufbauen und benötige dafür mehr Speicherplatz. 
Wenn ich mich nicht täusche müßte der 18F4685 kompatibel sein. Von der 
Geschwindigkeit und Speicherplatz wäre aber auch ein PIC32MX460F512 
denkbar. Wobei hier das Layout geändert werden muß.

Viele Grüße
Gast #3150595
Lesenswert?

Muss ich mir mal ansehen...

Der 18F4580 wird bestimmt gehen.. muss ich mir mal ansehen.

Beim PIC32 muss mal nachsehen wieviel da umgeroutet werden muss..

Habe Dir die Mail weitergeleitet. Dachte Du hättest Die Platine von 
Charlie übernommen...

Gruß
Ingo
(Firma: privat) #3190899
Lesenswert?

Hallo!

Hat jemand schon für dieses Board eine CAN-Firmware geschrieben? Ich bin 
gerade dabei anzufangen das Board über CAN ansprechbar zu machen. Auch 
über anderen Code (EMS/USB) für dieses Board in C wäre ich dankbar. Ich 
stelle meinen Code dann natürlich auch wieder zur Verfügung.

PS: Allgemeine Beispiele für USB gibts genug. Ich beziehe mich nur auf 
dieses spezielle Board.

Danke!

vg

Jürgen
Gast #3191041
Lesenswert?

Hallo Jürgen,

habe Dir gerade meinen Assembler Quelltext gemailt. Vielleicht kann ich 
ha bei der protierung etwas dabei helfen. Eigentlich ist im Quelltext 
alles vorhanden. auch CAN....

Gruß
Ingof
#3201514
Lesenswert?

Hallo Ingo, kann man schon absehen, wann die ersten Platinen fertig 
sind?
Bei dem Pic bräuchte ich den 18F4685 bzw. 18LF4685. Dieser hat mehr 
Speicher. Ansonsten müßte er identisch mit dem 18F4580 sein. Einen 10Mhz 
Quarz wäre auch gut, damit man über die PLL die volle Geschwindigkeit 
erreichen kann. Ich möchte nämlich mit ENC28J60 die Schaltung mit dem 
Ethernet verbinden. Eine Versuchsschaltung habe ich schon aufgebaut, 
welche funktioniert.
Gast #3202434
Lesenswert?

F. F. schrieb:
> Hallo Ingo, kann man schon absehen, wann die ersten Platinen fertig
> sind?

Meine anderen Platinen sind so gut wie fertig.
So ein bis zwei Monate wirds noch dauern....

Aber erst mal muss ich noch mal komplett meine alte Bauteilliste 
durchforsten und aktaualisieren.
Einige Bauteile werde ich vorher nochmal testweise bestellen müssen.

Dann wird erst mal die Bauteilliste aktualisiert, die Bauteile und die 
Platinen bestellt.
Je nachdem wie schnell die Bauteile lieferbar sind kann es dann 
losgehen.
Das wird dann hoffentlich in meinem Urlaub liegen ;-) Also Anfang August

Eigentlich werden so ziemlich alle Platinen gleichzeitig fertig. Kann 
nur sein dass einige zickige Platine Sonderbehandlung benötigen und sich 
dann etwa zwei Wochen verspäten werden.

Gruß
IngoF
Gast #3202444
Lesenswert?

Hallo Jürgen,

Jürgen Schmied schrieb:
> Firmware nach C zu portieren
Ich habe natürlich auch noch meine Programmablaufpläne zu dem Assembler 
Quelltext. Wird beim verstehen lernen sehr hilfreich sein.

hatte eigentlich schon gestern ein SVN-repository auf meinem Server 
erstellt....

Habe Dir gerade erst die Zugangsdaten zumailen können. Wer Interesse hat 
mitzuhelfen bekommt natürlich auch die Zugangsdaten...

Mal abgesehen davon dass ich an den Google-Quelltext sowieso nicht 
herankomme...

Gruß
Ingo
(Firma: privat) #3232030
Lesenswert?

Hallo!

Im Moment werden nur die Datenpakete vom EMS Bus durchgereicht und von 
einem Programm auf dem PC verarbeitet.

Was für Meldungen sollen denn ausgegeben werden, die nicht auch über das 
Bedienteil ausgegeben werden?
Das Interface ist doch eher für Anwendungen interessant, die bestimmte 
Parameter loggen oder als Schnittstelle zu Home-Servern um alle 
Komponenten im Haus zusammen zu visualisieren.

vg

Jürgen
#3232323
Lesenswert?

Hallo Jürgen

ich hätte an eine Ausgabe auf der Seriellen Schnittstelle (über USB) 
zusätzlich zu den normalen Paketen gedacht. Über das Protokoll selbst, 
habe ich mir noch keine Gedanken gemacht. Display würde mir überhaupt 
nichts bringen, da ich die Informationen ja irgendwie in FHEM haben 
möchte. CAN Interface habe ich noch keines an meinem FHEM dran. Welches 
Interface würdest Du vorschlagen ?

Ich würde das Interface über USB mit der Fritzbox(FHEM Server) bzw 
RaspberryPI(FHEM Server) verbinden und irgendwie versuchen die Ausgabe 
der seriellen Schnittstelle in FHEM einzubinden.

lg
Stefan
OP #3232801
Lesenswert?

Stefan Muehlbauer schrieb:
> zusätzlich zu den normalen Paketen gedacht.

Das wäre Sinnlos. Wenn die Daten ja zu FHEM gehen und dort protokolliert 
werden (können) noch zusätzlich nochmals im "Originalformat" 
rauszuschicken. Oder soll da zusätzlich noch eine andere Software 
mitloggen?

Stefan Muehlbauer schrieb:
> Über das Protokoll selbst, habe ich mir noch keine Gedanken gemacht

Wäre unnütze Arbeit ein vorhandeses Datenformat/Protokoll auf ein neues 
Format umzuwandeln. Zumindest wenn auf der anderen Seite auch noch ein 
Format/Protokoll gebastelt werden muss.

Dann schon in FHEM das vorhandene Datenprotokoll des EMS-Busses 
beibringen und die sinnvollen Daten heraus zu ziehen und zu verwerten.

Kannst natürlich auch gerne mithelfen bei der Firmware. Das gilt 
übrigens auch für alle anderen. Hilfe ist immer gut ;-)

Stefan Muehlbauer schrieb:
> Welches
> Interface würdest Du vorschlagen ?
Wenn eine Serielle Schnittstelle (USB) vorhanden ist, warum nicht die?

Es wäre auch möglich ein käufliches ENC28J60-Interface über SPI 
anzusteuern. fragt sich nur wie einfach das zu programmieren ist. Das 
Interface kann man an die Platine mit ein paar Drähten problemslos 
anschließen.

@all:
Wer gerne bei der Entwicklung mithelfen möchte muss nur eine Mail an 
ems_gateway(ät)arcor.de schicken und bekommt die Zugangsdaten zum 
SVN-Server.
Dazu benötigt man von Microchip die IDE (MPLab-8 oder MPLab-X), den 
C18-Compiler und einen SVN Client. Ist sogar viel einfacher als ich mir 
vorgestellt hatte...

Gruß
IngoF
(Firma: privat) #3232927
Lesenswert?

Hallo!

Ich werde in der nächsten Zeit intensiver an der Firmware arbeiten, hab 
jetzt etwas Zeit dafür.

Der ENC28J60 wird sich schon einigermaßen programmieren lassen, es gibt 
eine Bibliothek dafür. Man müsste nur sehen, ob der PIC18F4580 dafür 
ausreicht. Falls ja, könnte man ein einfaches XML oder JSON über HTTP 
realisieren. Falls die Firmware in C fertig ist, kann ich ja mal für ca. 
5 EUR bei EBAY so ein Modul besorgen. Das würde sich jedenfalls 
einfacher in einen Home-Server integrieren lassen als ein CAN Bus oder 
USB.

Das Board hat übrigens auch noch einen ungenutzten 256k EEPROM, man 
könnte auch eine längere Zeit die Meßwerte puffern...

vg

Jürgen
Gast #3232954
Lesenswert?

Jürgen Schmied schrieb:
> Das Board hat übrigens auch noch einen ungenutzten 256k EEPROM

So wie es aussieht fliegt der aber aus Platzgründen bei der neuen 
Version raus. Da kommt ein ENC28J60-Anschluss hin. Die FRAM sind auch 
nicht so einfach zu bekommen.
Bisher schien niemand wirklich Interesse an diesem Baustein zu haben.

Ist der den wichtig wenn der 18F4685 verwendet wird?

Gruß
IngoF
(Firma: privat) #3233070
Lesenswert?

Hallo!

Der Zwischenspeicher ist wichtig, wenn man wirklich die Daten per 
Netzwerk bereitstellt und das Board ein Server ist. Da kann man ja nicht 
wissen, wann der Client die Daten abholt. Über COM wurde sie ja sofort 
gesendet, das geht dann nicht mehr. Du wolltest ja aber auch eine SD 
Karte anbinden, die muss dann eben als Puffer herhalten.

Eine Alternative wäre, die Daten aktiv an einen Server zu senden (Board 
als Client). Dann muss aber der Server immer verfügbar sein.


vg

Jürgen
Gast #3233079
Lesenswert?

Hallo Jürgen,

Naja, notfalls kann man ja den F-RAM auch als erweiterung auf die 
Platine Stecken oder zusätzlich anlöten. muss ja nicht auf der Platine 
selber sein.

Habe aber gesehen dass der ENC28J60 wohl nur den SPI-Mode0 unterstützt. 
Also dass der Clk wärend CS=Low (nicht aktiviert) immer auch Low sein 
sollte.

Wenn ich das richtig verstehe wäre der SPI-Bus nur für den Ethernet-Chip 
reserviert und man könnte keine SD-Karte oder F-RAM zusätzlich über den 
BUS ansteuern, oder?

Dann noch einen SPI-Port für SD-Karte oder F-Ram zu basteln wird dann 
nicht so einfach..

Oder hat jemand schon mal den ENC28J60 schon programmiert  und kann 
sagen obb der SPI-Port noch für andere Busteilnehmer verwendet werden 
kann. Was macht denn der ENC28J60 wenn CS Low ist und trotzdem ein Takt 
rausgeht?

Gruß
IngoF
(Firma: privat) #3233090
Lesenswert?

Hmm, auch andere hatten damit ein Problem:

http://www.microchip.com/forums/m385198.aspx

Allerdings muss TCP und RAM auch parallel gehen:

http://www.microchip.com/forums/m701075.aspx

Dort sehe ich aber nicht, welche Hardware als Netzwerkcontroller dient.

Theoretisch könnte man an den USB Port einen Stick anschließen, ist aber 
warscheinlich auch nicht so einfach zu programmieren.

vg

Jürgen
Gast #3233314
Lesenswert?

Stefan Muehlbauer schrieb:
> Hardware Design noch nicht ganz
> geklärt ist

Der Ethernet-Chip war nur so ein Gedanke von mir. Das Interface mit dem 
Chip gibt es fertig zu kaufen.
Habe also nur einen Steckkontakt gemacht für das Interface. Ist das 
selbe Interface das es für den Aduino gibt (ElecFreaks).

Der Sonstige Aufbau läuft und ist soweit OK.

Gruß
IngoF
(Firma: privat) #3233750
Lesenswert?

Das wird auf einem 18F4685 schon knapp mit Netzwerk ...

AN1128:

"Based on the TCP/IP reference model, the Stack is
divided into multiple layers, where each layer accesses
services from one or more layers below it. Per the
specifications, many of the TCP/IP layers are “live”, in
the sense that they not only act when a service is
requested, but also when events like time-outs or new
packets arrive. The Stack is modular in design and
written in the C programming language. Typical
implementations will use 30-60 Kbytes of code ..."

... und da ist noch kein HTTP-Server dabei ...

vg

Jürgen
#3234383
Lesenswert?

Hallo,

F. F. schrieb:
> Ich möchte einen Web-Server aufbauen und benötige dafür mehr Speicherplatz.
> Wenn ich mich nicht täusche müßte der 18F4685 kompatibel sein

ich habe mich mit dem ENC28J60 schon beschäftigt, deshalb hatte ich auch 
den 18f4685 vorgeschlagen. Für eine einfache Webseite, wo ich einen 
Ausgang schalte und einen Eingang abfrage benötige ich 18500 Worte von 
49152. Hier habe ich Webseite mit auf dem Chip programmiert. Bei 
Gelegenheit möchte ich versuchen, die Webseite auf einer SD-Karte zu 
schreiben, wobei ich nicht weiß, ob man im SPI-Modus in FAT die Daten 
abspeichern kann. Den ENC28J60 hatte ich als fertiges Modul für ca. 10€ 
in Deutschland erworben. Nun habe ich das gleiche Modul für 3€ in China 
bestellt. Der Chip hat allerdings einen sehr hohen Stromverbrauch von 
bis zu 300mA. Hier gibt es bessere Chips, welche den Stack schon haben 
und daher weniger Arbeitsspeicher benötigen. Dafür spricht wiederum, das 
dieser vom Microchip-Stack unterstützt wird und es fertige Programme 
gibt.

IngoF schrieb:
> Habe aber gesehen dass der ENC28J60 wohl nur den SPI-Mode0 unterstützt.
> Also dass der Clk wärend CS=Low (nicht aktiviert) immer auch Low sein
> sollte.

Ich habe schon einen Schaltplan mit ENC28J60 und 25C1024 am SPI Bus 
gesehen. Es sollte eigentlich daher gehen.
Weiß jemand zufällig, wie ich die Web-Seite auf der SD-Karte bzw auf dem 
EEProm (25C1024) programmieren muß? Also welche Adressstruktur? Für den 
Arbeitsspeicher habe ich ein Prog. welches die Webseite in einen C-Code 
umwandelt.

Viele Grüße
F. F.
OP #3272619
Lesenswert?

Der DIP-Schalter 4 (Reset) könnte geschlossen sein. Dadurch bleibt der 
PIC im Reset. Der RS232-TX Ausgang hängt dann in der Luft und zieht den 
EMS-Bus dauerhaft auf 0.

Oder es gibt eine andere Ursache dafür dass der PIC aus dem Reset kommt 
oder der RS232-TX-Pin in der Luft hängt oder ein HIGH ausgibt.

Könnte auch eine Leiterbahn unterbrochen sein, ......

Funktioniert denn der Bootloader noch (DIP1-3 auf ON und DIP4 auf OFF). 
Dann einmal Spannung abziehen und wieder einstecken.

Dann sollten beide LED dauerhaft leuchten.

Wenn der Bootloader richtig funktioniert sollte man damit auch den 
Inhalt des PIC auslesen können.

Hänge mal die Flaschanleitung für den EMS-Gateway an....

Falls der Fehler nich so einfach ist am besten mal eine Mail mit 
Telefonnummer schicken...


Gruß
Ingo
Angehängte Dateien:
(Firma: privat) #3272667
Lesenswert?

Noch eine Frage: läuft der Bus, wenn nur EMS an der Platine 
angeschlossen ist und keine Betriebsspannung? Hintergrund: der EMS 
Schaltungsteil wird vom EMS Bus versorgt. Hat der MC keine 
Betriebsspannung, so wird auch nichts gesendet.

Gehts jetzt -> der MC stört
Gehts nicht -> Fehler im EMS-Teil

Wie viel Strom wird vom EMS Bus gezogen?

vg

Jürgen
Gast #3272684
Lesenswert?

Jürgen Schmied schrieb:
> Betriebsspannung, so wird auch nichts gesendet.

Ein eindeutiges JAIN. ;-)

Bei der ersten Version wird wärend eines Resets, oder wenn der 
Ausgangs-Pin "in der Luft hängt" Dauerhaft gesendet.

Da liegt am ADUM1201 wenn die EMS-Seite Spannung hat und der Eingangspin 
auf PIC-Seite kein vernünftiges Signal oder keine Versorgungsspannung 
hat.

Das kann man aber umgehen wenn mann einen Wiederstad nachträglich 
einlötet.
Bei der neueren Version ist der Widerstand schon eingebaut..

Gruß
Ingo
#3273309
Lesenswert?

Im Bootloader Modus leuchten beide LED dauerhaft, aber die SW von 
Microchip sagt "Bootloader not found." Der Com Port (FTDI) wird noch 
erkannt. Hatte vor längerer Zeit die SW hoch gerüstet, so das die 
aktuellste SW drauf ist und mal funktioniert hat...

Sind die beiden LEDs nur an wenn der PIC im Bootloader läuft, sprich 
kann ich davon ausgehen das er noch lebt? Kann ich per Terminalprogramm 
was zum PIC senden und eine antwort erwarten (ohne EMS Bus)?

Die Platine ist im Conrad Wandgehäuse unter gebracht und an der Wand 
fest verschraubt. Meine Heizung hängt unterm Dach und in dem Raum wird 
es sehr warm. An dem Tag als das Gateway gestorben ist hat es hier auch 
ordentlich gewittert, aber da ich sonst keine anderen Schäden habe, 
denke ich nicht das das damit zusammen hängt.

Danke und Gruß

JayKay
Gast #3274256
Lesenswert?

Kay F. schrieb:
> Sind die beiden LEDs nur an wenn der PIC im Bootloader läuft, sprich
> kann ich davon ausgehen das er noch lebt? Kann ich per Terminalprogramm
> was zum PIC senden und eine antwort erwarten (ohne EMS Bus)?

Wenn der EMS-Gateway normal gestartet hat kannst Du auch ganz normal im 
Terminalprogramm BootloadMode! Wie in der Flaschanleitung eingeben. Die 
Platine sollte dann mit <S2BLM> antworten. Ob RAW-oder Hex-Mode ist 
dabei egal. Get auch mit Hyperterminal von Windows.

Beim EMS-Bus sollte die Stromversorgung funktionieren. Ohne 
Stromversorgung kann eigentlich nicht auf dem BUS gesendet werden. Es 
sei denn den Transistor hat es auf der Unterseite zerschossen. Könnte 
man eventuell mit einem Multimeter messen falls Du das hast.
Die Stromversorgung könnte man auf den Jumpern neben dem ADUM1201 messen 
können. Auf der EMS-Bus-Seite die beiden äußeren. die Anschlüsse links 
und rechts neben dem ADUM sind die Sende und Empfangsrichtung. Dazu muss 
aberschon 20Volt am EMS-Bus angelegt werden.

Alternative wäre den PIC in Reset zu halten (DIP4) und einfach mit einem 
10kOhm Widerstand an den beiden Lötaugen von PortC im Gelben Kreis den 
Sendepin auf GND ziehen. Wenn der PIC kaputt ist und der EMS-Teil OK ist 
sollte er auf dem EMS-Bus nicht mehr senden. Wenn Doch scheint der 
EMS-Teil defekt zu sein (Transistor auf der Unterseite defekt.z.B.)

Der Pin rechts draunter sind die EMS-Empfangsdaten.

Gruß
Ingo
Angehängte Dateien:
#3276489
Lesenswert?

Hi,

habe unter hterm (9600 baud 8-n-1) versucht mit "BootloadMode!" + 
<cr/lf> in den bootloader zukommen, bekomme aber leider keine Antwort 
(nur USB-Kabel & Stromversorgung angeschlossen)... Den EMS Teil habe ich 
jetzt noch nicht getestet, da ja der PIC schon nicht antwortet. 
(Einfaches) Multimeter hätte ich da. Kann ich damit noch was am PIC 
prüfen? Sonst würde ich morgen das Angebot von Jürgen annehmen.

Danke und Gruß

JayKay
OP #3276741
Lesenswert?

Hallo Kay,

Was mir jetzt noch so einfällt ist dass Du am MCLR/ Pin vom 
Mikrocontroller messen könntest ob der auf High liegt.

Vermute mal fast das der PIC in Rente gegangen ist.
Viel kann man da vermutlich nicht mehr mit einem Multimeter testen.

Am besten Jürgen oder mir zuschicken.

Habe jetzt leider keine Testplatine mehr Die ich Dir solange leihweise 
zur Verfügung stellen könnte...

Gruß
Ingo
(Firma: privat) #3276868
Lesenswert?

Hallo!

Ich habe jetzt den Web-Server aus

Beitrag "ENC28J60 (Mikro-)Web-Server die Nächste"

auf das Board portiert. Er braucht nur 20KB ROM und 1080 Bytes RAM. Es 
geht auch noch mit etwas weniger RAM. Der Web-Server ist also nur halb 
so groß wie der von Microchip zur Verfügung gestellte.

Ggf. würde er also sogar auf dem alten Board laufen - die neue Version 
ist ja mit PIC18F4685.

Die Hardware ist:
http://www.ebay.de/itm/ENC28J60-Ethernet-LAN-Netzwerk-Modul-Arduino-RJ45-SPI-mit-Befestigungsbohrungen-/121158045138 
und ein 3,3 Volt Spannungsregler.

Ich würde vieleicht eine Abfrage der Werte über JSON oder XML  machen. 
Auch eine einfache Web-Oberfläche zum Setzen von Parametern über das 
Internet ist nun einfach zu machen.

Hat jemand spezielle Wünsche? Sonst mach ich was ich will ;)

vg

Jürgen
#3276962
Lesenswert?

Hallo Jürgen,

das klingt ja echt super !
(Ich beneide Euch, daß Ihr so viel Zeit für coole Spielereien habt !
Ich hoffe sehr, dass ich im Herbst/Winter auch mehr Zeit für so was 
haben werde)
Ich denke, ich muss mich mit der PIC-Programmierung befassen...
Eine von Ingos neue Platinen ist für mich, ich freue mich immer mehr 
darauf.
Auf lange Sicht hatte ich davon geträumt, per Webinterface (zumindest im 
eigenen Netz) eine "persönliche" Obefläche statt der RC35 im Keller zu 
haben, hatte dabei an einen anderen Controller/Rechner neben dem Gateway 
gedacht, jetzt braucht man ihn vielleicht nicht mehr ...
In meine Augen: " mach was Du willst, ist eh schon super-cool! "

DANKE !!!

Viele GRüße,
Erik
#3280396
Lesenswert?

Hallo,

ich fände es toll wenn man direkt in einen MySQL Server loggen und per 
RPC/Json/... Werte setzen könnte. Gut wäre noch ein einfacher IP 
Adressfilter, so das z.B. nur der Server aktionen ausführen darf.

Wie ist den die Anpassung an die diversen Heizungsanlagen geplant?
Die Werte unterscheiden sich ja je nach Anlage.

Gruß

Kay
Gast #3280487
Lesenswert?

Kay F. schrieb:
> Die Werte unterscheiden sich ja je nach Anlage.

Eigentlich ja nicht. Die Werte bei den Telegrammen haben eigentlich die 
selbe Bedeutung. Je nach Ausbau der Anlage mit verschiedenen Modulen 
gibt es verschiedene Adressen und dann eventuell noch neue Telegramme.

Also sollte ein bestimmter Wert in einem bestimmten Telegramm immer nur 
eine Bedeutung haben.

Oder habe ich Dich falsch verstanden?

Gruß
Ingo
Gast #3288175
Lesenswert?

Kay F. schrieb:
> bei der RC30 &
> RC35

Achso... hatte ich schon wieder vergessen...

Jürgen Schmied schrieb:
> So, langsam läuft auch der Webserver ...

Sieht ja super aus....

Es gibt auch eine Urlaubsfunktion. Wäre schön wenn man die Einschalten 
könnte. Aber ich glaube schon fast dass es nicht so einfach möglich ist. 
Für die Heizkreise 1 und 2 gibt es ein Telegramm. Beim Warmwasser wohl 
nicht.

Allerdings kann man wohl nicht die Gesamtanlage in den Urlaubsmodus 
setzen. Die RC30/RC35 steuert ja die Heisswasserbereitung und dafür habe 
ich noch kein Telegramm gefunden.

Gruß
Ingo
(Firma: privat) #3288233
Lesenswert?

Hallo!

Wenn ich die untere Taste drücke, passiert folgendes:


10 08 35 00 11 33 12 00 08
[ 10 RC35 ->  08 UBA] typ=35, size=3

01 00 02
[ACK]

10 00 06 00 0D 08 15 14 0C 06 01 01 D4 00 0E
[ 10 RC35 ->  00 ALLE] typ=06, size=9
[20.08.2013 21:19:23] {RCTimeMessage:Tag} 
20.0
[20.08.2013 21:19:23] {RCTimeMessage:Monat} 
8.0
[20.08.2013 21:19:23] {RCTimeMessage:Jahr} 
13.0
[20.08.2013 21:19:23] {RCTimeMessage:Stunden} 
21.0
[20.08.2013 21:19:23] {RCTimeMessage:Minuten} 
12.0
[20.08.2013 21:19:23] {RCTimeMessage:Sekunden} 
6.0
[20.08.2013 21:19:23] {RCTimeMessage:Sommerzeit} 
AN
[20.08.2013 21:19:23] {RCTimeMessage:Funkuhr} 
AUS
[20.08.2013 21:19:23] {RCTimeMessage:Uhr läuft} 
AUS

08 00 34 00 36 01 FF 01 FF 21 00 01 03 00 01 D1 EF 00 28 EE 00 DF 00 17
[ 08 UBA ->  00 ALLE] typ=34, size=18
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasser-Soll-Temperatur} 
54.0 °C
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasser-Temperatur 1} 
51.1 °C
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasser-Temperatur 2} 
51.1 °C
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Tagbetrieb} 
AN
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Einmalladung} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Thermische Desinfektion} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasserbereitung} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwassernachladung} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasser-Temperatur OK} 
AN
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Zirkulation} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:WW-System: kein} 
AN
[20.08.2013 21:19:23] {UBAMonitorWWMessage:WW-System: Durchlauferhitzer} 
AN
[20.08.2013 21:19:23] {UBAMonitorWWMessage:WW-System: kleiner Speicher} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:WW-System: großer Speicher} 
AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:WW-System: 
Speicherladesystem}       AUS
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasserbereitungszeit} 
1987.0 h
[20.08.2013 21:19:23] {UBAMonitorWWMessage:Warmwasserbereitungen} 
10478.0

08 00 18 00 07 01 C5 00 00 80 00 00 60 80 00 01 FF 02 1C 00 00 08 30 48 
00 CB 00 00 00 BE 00 1F
[ 08 UBA ->  00 ALLE] typ=18, size=26
[20.08.2013 21:19:23] {UBAMonitorFast:Kessel Soll-Temperatur} 
7.0 °C
[20.08.2013 21:19:23] {UBAMonitorFast:Kessel Ist-Temperatur} 
45.3 °C
[20.08.2013 21:19:23] {UBAMonitorFast:Kessel maximale Leistung} 
0.0 %
[20.08.2013 21:19:23] {UBAMonitorFast:Kessel Ist-Leistung} 
0.0 %
[20.08.2013 21:19:23] {UBAMonitorFast:Magnetventil für 1. Stufe} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:Magnetventil für 2. Stufe} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:Gebläse} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:Zündung} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:Kesselkreis- od. HK-Pumpe} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:3W auf WW} 
AUS
[20.08.2013 21:19:23] {UBAMonitorFast:Zirkulationspumpe} 
AN
[20.08.2013 21:19:23] {UBAMonitorFast:Temperatur Warmwasser} 
51.1 °C
[20.08.2013 21:19:23] {UBAMonitorFast:Temperatur Rücklauf} 
54.0 °C
[20.08.2013 21:19:23] {UBAMonitorFast:Flammenstrom} 
0.0 µA
[20.08.2013 21:19:23] {UBAMonitorFast:Flammenstrom} 
0.0 µA
[20.08.2013 21:19:23] {UBAMonitorFast:Wasserdruck} 
0.8 bar
[20.08.2013 21:19:23] {UBAMonitorFast:Servicecode} 
0H
[20.08.2013 21:19:23] {UBAMonitorFast:Fehlercode} 
203.0

10 00 3E 00 00 00 00 00 F4 00 00 00 00 00 00 03 00 11 05 00 25 00 16
[ 10 RC35 ->  00 ALLE] typ=3E, size=17
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Ausschaltoptimierung} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Einschaltoptimierung} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Automatikbetrieb} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Warmwasservorrang} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Estrichtrocknung} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Ferienbetrieb} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Frostschutz} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Manuell} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Sommerbetrieb} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Tagbetrieb} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Partybetrieb} 
AUS
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Raum-Solltemperatur} 
0.0 °C
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Raum-Isttemperatur} 
24.4 °C
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 
Einschaltoptimierungszeit}       0.0 min
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 
Ausschaltoptimierungszeit}       0.0 min
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Heizkennlinie 10°C} 
0.0 °C
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Heizkennlinie 0°C} 
0.0 °C
[20.08.2013 21:19:23] {RCHK1MonitorMessage:HK1 Heizkennlinie -10°C} 
0.0 °C
[20.08.2013 21:19:23] 
{RCHK1MonitorMessage:Raumtemperatur-Änderungsgeschwindigkeit} 0.03 K/min
[20.08.2013 21:19:23] {RCHK1MonitorMessage:Schaltuhr} 
AN
[20.08.2013 21:19:23] {RCHK1MonitorMessage:Vorlaufsoll} 
5.0 °C

10 08 35 00 11 11 30 00 08
[ 10 RC35 ->  08 UBA] typ=35, size=3

01 00 02
[ACK]

Die Pakete vom Typ 0x35 sind hier wohl interessant ...

vg

Jürgen
(Firma: privat) #3304829
Lesenswert?

Hallo!

Bei der gegenwärtigen vorgesehenen Konfiguration (SD-Karte und Ethernet 
am gleichen SPI) gibts ein Problem:

Wenn man PetitFS zum Schreiben nutzt, so werden die Daten auf die SD 
geschrieben, wie sie kommen. Die SD kann aber nur Blockweise schreiben. 
D.h. solange ein Block (512 Bytes) noch nicht zu Ende geschrieben ist, 
muss die SD Karte CS = L haben. In der Zeit kann natürlich kein 
Netzverkehr stattfinden, da der SPI Bus blockiert ist. Wenn man z.B. die 
Daten vom EMS Bus auf SD Karte aufzeichnet, so kann es schon mal eine 
Minute dauern, bis ein Block voll ist. In der Zeit kann Ethernet nicht 
bedient werden. Wenn man fortlaufend aufzeichnet, ist das so gut wie 
immer der Fall.

Es gibt nun mehrere Möglichkeiten:
- FatFS mit Sektorbuffer nutzen (allein dafür 32 KB ROM/700 Byte RAM) 
--> Alte Boards sind überfordert, neue Boards (mit PIC18F4685) würden 
das schaffen.

- Entweder WEB oder Ethernet
  -> Würde auch auf alten Boards laufen, man verschenkt den 
Parallelbetrieb (WEB/Ethernet) auf den neuen Boards
  -> Man könnte zwei Versionen der FW für die alten Boards machen (WEB / 
SD-Kartenlogger)

Daher eine Frage:
Soll ich auf die alten Boards noch Rücksicht nehmen? Würde jemand mit 
einem alten Board Ethernet und SD-Karte nachrüsten wollen? Ggf. könnte 
man auch den PIC18F4580 gegen einen PIC18F4685 tauschen.

vg

Jürgen
Gast #3304958
Lesenswert?

Jürgen Schmied schrieb:
> muss die SD Karte CS = L haben. In der Zeit kann natürlich kein
> Netzverkehr stattfinden, da der SPI Bus blockiert ist

Kann man denn nicht einfach das SD-CS auf Low lassen und den SPI-Bus 
trotzdem benutzen?

Jürgen Schmied schrieb:
> man auch den PIC18F4580 gegen einen PIC18F4685 tauschen.
und den 16MHZ Qurtz gegen 10MHz (PLL=40MHz)tauschen.

Die neuen Platinen sind jetzt endlich fertig. Jeder sollte dann gleich 
zwei Mails bekommen...

Gruß
Ingo
(Firma: privat) #3305032
Lesenswert?

IngoF schrieb:
> Jürgen Schmied schrieb:
>> muss die SD Karte CS = L haben. In der Zeit kann natürlich kein
>> Netzverkehr stattfinden, da der SPI Bus blockiert ist
>
> Kann man denn nicht einfach das SD-CS auf Low lassen und den SPI-Bus
> trotzdem benutzen?

Nein, dann würde die SD Karte Daten beantworten, die für den ENC27J60 
gedacht sind. Ggf. wäre auch die Ausgangsstufe der Karte aktiv.

>> man auch den PIC18F4580 gegen einen PIC18F4685 tauschen.
> und den 16MHZ Qurtz gegen 10MHz (PLL=40MHz)tauschen.

Ja, kann man auch, geht aber auch so ...
Gast #3305652
Lesenswert?

Also an einer Ethernet-Schnittstelle wäre ich sehr interessiert.

Wenn die neue Firmware per REST oder JSON abzufragen wäre, stünde einer 
einfachen Integration in z.B. openHAB auch nichts mehr im Weg (Mein 
openHAB läuft in einer xen-vm, serielle oder USB Schnittstellen sind da 
nicht so einfach reinzureichen - zumal ich eigentlich keine weiteren 
PCI(e)-Karten einbauen möchte).
Daten in eine MySQL-Datenbank zu pushen wäre natürlich auch wunderbar, 
dann kann ich auf die SD-Karte verzichten. ;-)

Ich freue mich auch schon auf 'mein' Board...
Gast #3309235
Lesenswert?

Jerschtamal Servus :-)

Sitze gerade in Paris CDG und warte auf meinen Flug nach Johannesburg.
Jetzt hatte ich mal die Zeit den Threat zu lesen ....
Verstanden habe ich nicht viel .... bin schon froh, wenn ich meine SPS'n 
programmiert bekomme.

Aber was ist verstanden habe ist, dass das Gateway funktioniert.
Meine Frage nun, ob das auch an meinem Buderus Öl-Brennwertkessel mit 
RC35 funktioniert.
Wenn ja würde ich auch gerne ein Gateway (die Endanwender Version) 
bestellen :-)

Besten Dank,
Gruß
Manfred
OP #3309309
Lesenswert?

Hallo Manni,

Der Gateway funktioniert schon.
Allerdings ist das so mit dem bestellen so ein Problem.

Eigentlich lohnt sich das nur wenn mehrere Platinen zusammmen kommen.

Habe keine Platinen auf Vorrat gebaut. Also genau abgezählt.
Fragt sich nur was Du damit machen möchtest. Eventuell könnte ich noch 
meine Erste Version abgeben. Mit der kann man aber vermutlich keinen 
Webserver laufen lassen. Oder es müsste ein anderer PIC nachgerüstet 
werden...

Also nur Serielle (USB)-Schnittstelle.

Gruß
Ingo
Gast #3309939
Lesenswert?

Servus Ingo,

Passt schon, nicht gar so wichtig.
Wäre einfach wieder nur eine weitere Spielerei gewesen :-)
Ist ja nicht zwingend erforderlich, die Heizung läuft ja auch ohne sehr 
gut :-))

Aber trotzdem danke.

Gruß
Manfred
(Firma: privat) #3312613
Lesenswert?

Die Bauteile sind nicht so kritisch. Ich habe genommen (Reichelt)

L1/L2
SMCC 4,70µ  Drosselspule, Festinduktivität, axial, 4,70µ

D5/D6
BAT 43  Schottky Diode, DO35, 30V, 0,2A

T2
BC 337-40 Transistor NPN TO-92 45V 0,5A 0,625W

D7
1N 4148  Planar Epitaxial Schaltdiode, DO35, 100V, 0,15A

ADUM 1201 AR  Digital-Isolator, 2-Kanal, low power, SO-8
LM 393 DIP  Komparator, 2-fach, DIP-8

Die Widerstände heissen z.B. METALL 100K

Die Kondensatoren: z.B.

RAD 105 47/35  Elektrolytkondensator, 105°C, RM 2,0mm
KERKO 68P  Keramik-Kondensator 68P
X7R-5 1,0N  Vielschicht-Keramikkondensator 1,0N, 10%
Z5U-5 100N  Vielschicht-Keramikkondensator 100N, 20%

als C10 hab ich einen Elko genommen, + an den Eingang.


Wichtig ist:
www.ebay.de/itm/5pcs-New-SOP8-SO8-SOIC8-TO-DIP8-adapter-PCB-conveter-boa 
rd-/171071352965
Gast #3314524
Lesenswert?

Hallo zusammen,

ich hatte mir zwischenzeitlich mal eine eigene Lösung gebaut um die 
Daten zu erfassen. Diese läuft mittlerweile einige Monate recht stabil.
Dabei ist mir aber aufgefallen das einige Daten die in der EMS-Werte.pdf 
von Ingo weiter oben nicht mit denen übereinpassen die ich 
herausgefunden und eigentlich auch schon verifiziert habe (durch Ablesen 
am RC35).
Da ja mittlerweile einige eine Platine haben und Daten erfassen würde 
ich gerne nochmals ein Sammlung der aktuellen Messwerte anstoßen.
Ein Beispiel was bei mir anders ist zum Beispiel die gesamte Nachricht 
08 00 34 ... sein, hier habe ich die WW-Soll-Temperatur, 
WW-Ist-Temperatur an Messstelle 1, die WW-Ist-Temperatur an Messstelle 
2, die WW-Zubereitungszeit und die Anzahl der WW-Zubereitungen. Außerdem 
habe ich statusbits für den Tagbetrieb, die Einmalladung, Thermische 
Desinfektion, die Wasserbereitung, die Wassernachladung und den 
WW-Temperaturstatus.

Ich werde mal versuchen eine Tabelle zu erstellen, vielleicht kann man 
die gemeinsam erweitern bzw. abgleichen!!!

Gruß
(Firma: privat) #3314552
Lesenswert?

Hallo!

Ich hätte da noch 2 Java Dateien.

In EMSDataFields die 3 numerischen Parameter sind:
Offset (Vorsicht! 1 ist das erste Datenfeld nach dem Offset)
Größe
Divisor

In EmsTelegramTypes stehen noch viele Kommentare zu weiteren Feldern und 
Telegrammen.

Das Ganze stammt aus einem Parser, der den Datenstrom aus dem GW 
interpretieren kann. Wer damit experimentieren möchte, kann den Code per 
Mail haben.

vg

Jürgen
Angehängte Dateien:
Gast #3314557
Lesenswert?

Hallo Hans und alle,

Hans schrieb:
> Ich werde mal versuchen eine Tabelle zu erstellen, vielleicht kann man
> die gemeinsam erweitern bzw. abgleichen!!!

Gemeinsam ist immer eine gute Idee....

Kann sein dass sich da vielleicht ein Offset bei einigen Telegrammen 
eingeschlichen hat. Im Moment loggt mein Programm ja fleissig die Daten 
und habe mich seit 2 Jahren nicht mehr damit beschäftigt.

Generell finde ich meine Liste vom Aufbau her schon gut. Es sind 
eigentlich alle Daten vorhanden die man benötigt um einen einzelnen Wert 
zu finden und zu berechnen. Oder hat jemand Verbesserungsvorschläge zum 
Tabellenaufbau.

Lade mal den letzten Stand als PDF hoch.

Am besten wäre es wenn alle an einer Liste arbeiten die den selben 
Aufbau hat. Ich könnte noch einen SVN-Server mit der Liste erstellen. 
Oder kann auch gerne meine Open-Office-Tabelle mailen. OpenOffice sollte 
ja bestimmt jeder haben.

Bei der Tabelle fängt die Zählung beim EMS-Telegramm am Anfang an. Also 
kann es schon mal keinen Offset kleiner 5 geben (1=Quelle 2=Ziel 3=Typ 
4=Offset).

Gruß
IngoF
Angehängte Dateien:
Gast #3314656
Lesenswert?

Jürgen Schmied schrieb:
> Was haltet Ihr von einem Wiki?

Eigentlich eine Gute Idee. Jemand hat ja schon mal so eine Wiki für sich 
selbst gemacht. der Link muss irgendwo im 2107-Thread rumlungern.

Aber fände es auch gut dass man die wichtigen Infos wie die 
EMS-Werte.pdf als Datei zum herunterladen hat.

Wie wäre es mit einem SVN für die Dateien und der Rest im WIKI. Die 
Dateien kann man ja als PDF exportieren und ins Wiki schieben.

Könnte das Wiki auch hosten. Habe gerade ein Paket dafür gefunden...
Muss mir das heute mal ansehen...

Gruß
IngoF
#3315947
Lesenswert?

Guten morgen,

ich habe eine Verständnisverfrage, ist es mit dem Gateway möglich, die 
über KNX gemessene Raumtemperatur (Wohnzimmer) über einen Server 
(OpenHab) auf den EMS zu schreiben und die Heizung dann 
Raumtemperaturgeregelt anstatt Außentemperaturgeführt zu betreiben?

Gruss
Norbert
#3315949
Lesenswert?

Moin hatte Ingo dazu schon mal eine Email gesendet, und würde das noch 
gerne mit dem "Paket dafür gefunden" von Ingo verstehen.

Ich würde gerne auf das vorhandene wiki aufsetzen.
Soll ich den Ersteller "Autor: Malte Bayer (hellraiser)", aus dem Forum 
hier: "Logamatic 2107 Schnittstelle" 
"Beitrag "Logamatic 2107 Schnittstelle"; anschreiben?
Wie ist das eigentlich mit den Rechten und Veröffentlichungen? Kann und 
da irgend so ein Anwalt was "andichten"???

Gruss Marcus
(Firma: privat) #3315961
Lesenswert?

Ich denke, das bewegt sich alles im erlaubten Rahmen.

Kommunikationsprotokolle sind nicht geschützt. Ein bekanntes Beispiel 
ist z.B. die Dokumentation und Implementation des Microsoft SMB 
Protokolls durch den SAMBA Server. Hier wird ja kein Gerät nachgebaut, 
sondern etwas Neues konstruiert - also kein Plagiat.

Ich habe beim Kauf der Heizung keine (warscheinlich sowieso ungültige) 
EULA anerkannt. Ein Zusatzgerät zu etwas zu bauen kann mir keiner 
verbieten.

http://de.wikipedia.org/wiki/Reverse_Engineering#Rechtliche_Aspekte
Gast #3316091
Lesenswert?

Jürgen Schmied schrieb:
> Dann spart sich Ingo die
> Einrichtung.

Na das dürfte nicht das Problem sein. Ist ja nicht das Problem. Das 
Installations-Paket für die Wiki ist schnell installiert und das 
Einrichten ist nach der Anleitung echt simpel.

Die alte Wiki kann natürlich auch genutzt werden. Denke aber dass die 
Wiki noch mal komplett überarbeitet werden müsste. Also auf mehrere 
Seiten verteilen. Also jeder Absatz könnte im Moment eine Eigene Seite 
werden.

Das Format der Telegrammübersicht könnte man noch etwas überarbeiten.

Gruß
Ingo
Gast #3317026
Lesenswert?

So, es git jetzt eine Wiki für den EMS-Gateway.

http://ems-gateway.myds.me:8001/dokuwiki/doku.php?id=telegramme

Werde gleich mal User und Password an alle mailen die eine Platine 
haben.
Wer sich selbst eine Schaltung zusammengebastelt hat bekommt natürlich 
auch erst mal die Zugangsdaten.

Das Wiki ist erst mal nur lesbar wenn man sich anmeldet.
Das wird sich aber noch ändern.

Was muss man eigentlich beachten wenn man Markennamen oder Produktnamen 
nennen will?

Gruß
IngoF
Gast #3317219
Lesenswert?

Norbert Schnitzler schrieb:
> ... ist es mit dem Gateway möglich, die
> über KNX gemessene Raumtemperatur (Wohnzimmer) über einen Server
> (OpenHab) auf den EMS zu schreiben und die Heizung dann
> Raumtemperaturgeregelt anstatt Außentemperaturgeführt zu betreiben?

Wird nicht gehen. Die Raumtemp. ist auf dem Bus keine Führungsgröße. Sie 
wird vielmehr direkt im RC30/35 verarbeitet und hat in den raumgeführten 
Modi Einfluss auf das Vorlaufsoll, dass der RC30/35 an den UBA schickt.

//Niffko
Gast #3317352
Lesenswert?

Das könnte Niffko wissen...

Vermute mal es wird ein noraler PT1000 oder was ähnliches sein.
Notfalls einfach mal Poti anschließen so lange drehen bis die RC35 eine 
Temperatur anzeigt und dann den Widerstandswert messen.

Das mit Potentialfreiheit ist eine gute Frage. Notfalls gibt es ja auch 
Motorpotis.

Fragt sich nur ob sich der Aufwand lohnt..

Gruß
IngoF
(Firma: privat) #3317365
Lesenswert?

Was genau möchtest Du ereichen? Was spricht dagegen, einfach einen 
Raumfühler anzuschließen?

PS: Die Raumtemperatur ist in einem engen Bereich von ca. 20..25 °C. 
Würden nicht auch 4 Analogschalter mit abgestuften Widerständen d.h. 4 
bit Auflösung dafür reichen?

vg

Jürgen
#3317515
Lesenswert?

Guten morgen,

meine Idee war die Anlage Raumtemperaturgeführt zu betreiben, da dies ja 
etwas energiesparender sein sollte. Da ich Gira Tastsensoren mit 
integriertem Fühler besitze, bietet es sich ja an, diese Werte auch zu 
nutzen. Ein Poti wie das DS1805 könnte man doch 'einfach' mit einem ADUM 
potentialbefreien.

Gruss
Norbert
#3320808
Lesenswert?

Hallo zusammen
gibt es eine Möglichkeit den Service Key und den EMS-Gateway 
gleichzeitig zu verwenden.
Bei mir geht immer nur ein Gerät zum Daten lesen.

Kommunikationspartner:
-> Service Key Version: 13.10

Angeschlossenes Regelsystem:
-> Logamatic EMS

Angeschlossene Regelkomponenten:
-> Adr.: 08 -> UBA4 Version : 4.09
-> Adr.: 09 -> BC20/25 Version : 1.06
-> Adr.: 11 -> Service Key
-> Adr.: 13 -> Modem
-> Adr.: 16 -> RC 35 Version : 1.18
-> Adr.: 48 -> SM 10 Version : 2.02

LG
Stefan
Gast #3320823
Lesenswert?

Es gibt nur die Adresse 11 (0x0b) für den Computer.

Der Service-Key und der EMS-Gateway haben also die selbe Adresse. Das 
kann Kollisionen auf dem Bus geben. Kann sein dass dann kein Busteilner 
von beiden erkannt wird...

Dem Service-Key könnte man wohl nicht das Senden abgewöhnen.
Bei EMS-Gateway gibt es also zwei Möglichkeiten.

1) Transistor T2 auf der Unterseite auslöten.
2) Die Firmware anpassen und die Sendefunktion ausschalten

Dann kann allerdings der EMS-Gateway nicht mehr senden.

Gruß
Ingo
(Firma: privat) #3320864
Lesenswert?

So lange das Gateway keine Adresse benutzt bei der der Busmaster denkt, 
es ist ein anderes Gerät könnte es gehen. Unbekannte Adressen wird er 
hoffentlich ignorieren. Ich kenne bisher:
  UBA(0x08),
  BC10(0x09),
  PC(0x0b),
  RC35(0x10),
  WM10(0x11),
  PM10(0x15),
  RC20_HK1(0x16),
  RC20_HK2(0x17),
  RC20_HK3(0x18),
  RC20_HK4(0x19),
  MM10_HK2(0x21),
  MM10_HK3(0x22),
  MM10_HK4(0x23),
  SM10(0x30)
Testen müsse man dann aber, ob der RC35 einen Schreibbefehl von einer 
unbekannten Adresse überhaupt annimmt. Tut er es nicht, macht es auch 
keinen Sinn, uberhaupt zu Senden.
Alternativ könnte man testen, ob man nicht z.B. mit dem Gateway z.B. 
RC20 spielen kann. Eine richtige Komponente wie z.B. MM10 zu spielen 
könnte einiges durcheinander bringen, da der RC35 denkt er hätte eine 
andere Anlagenkonfiguration vor sich.

*** Hat jemand ein RC20/RC25 als sekundären Kontroller am Laufen und 
könnte mit einen Mitschnitt senden? ***

vg

Jürgen
OP #3321731
Lesenswert?

Hallo Stefan,

habe gerade mal bei mir mit zwei Platinen getestet. Auch wenn zweimal 
das Modul mit der selben Adresse angeschlossen wurde konnte ich trotzdem 
mitloggen.

Ist bei Dir der ganze Bus zum Stillstand gekommen?

Ich habe nochmal die Adresse 0x0a bis 0x20 und 0x30 überprüft und die 
Adressen im Wiki aktualisiert.

Habe auch mal eine Platine als 0x13 (=19) programmiert. Meine RC30 
stellt keine Anfragen an die 0x13. Wenn man eine Adresse 0x17 von "RC20 
Heizkr" nimmt, pollt die RC30 endlos die Platine an.

Wenn Du möchtest kann ich Dir gerne die Firmware mit der geänderten 
Adresse 0x13 zumailen.

@Jürgen
Macht es Sinn einen Konfigurationsparameter für Busadresse einzubauen? 
Eventuell könnte man noch eine Check einbauen ob die eingestellte 
Adresse schon verwendet wird und jemand schon auf das Polling reagiert.
Man könnte sogar noch einen Autoadressmodus einbauen, der die ganzen 
Adressen mit "Gerät" duchtestet wenn die 0x0b belegt ist.
Aber denke das ist nicht wirklich nötig, oder?

Gruß
Ingo
#3321748
Lesenswert?

Hallo Ingo
Was ich festgestellt habe ist das nur die beiden Geräte nicht mehr 
funktioniert haben, nach neustarten der beiden Geräte funktionieren 
beide gleichzeitig wieder. Wobei die EMS Software ab und zu etwas 
rumzickt. Die Firmware brauchst Du mir nicht zukommen lassen. Es wäre 
gut wenn Ihr optional in einer zukünftigen Version eine andere Adresse 
verwenden könntet.
LG
Stefan
(Firma: privat) #3321754
Lesenswert?

> habe gerade mal bei mir mit zwei Platinen getestet. Auch wenn zweimal
> das Modul mit der selben Adresse angeschlossen wurde konnte ich trotzdem
> mitloggen.
Beide Platinen antworten ja mit BREAK. Wenn die kollidieren ist das 
immer noch BREAK ;). Spätestens wenn eine Platine etwas richtiges 
sendet, gibts Salat auf dem Bus.

> Habe auch mal eine Platine als 0x13 (=19) programmiert. Meine RC30
> stellt keine Anfragen an die 0x13.
Das währe RC20 von HK4. Wenn die Anlage nur mit einem HK konfiguriert 
ist, fragt die RC30 HK4 nicht ab.

>Wenn man eine Adresse 0x17 von "RC20 Heizkr" nimmt, pollt die RC30
>endlos die Platine an.
Hast Du 2 HK? 0x17 ist HK2.

> @Jürgen
> Macht es Sinn einen Konfigurationsparameter für Busadresse einzubauen?
Ja mache ich. Hab nach der gestrigen Diskussion auch schon dran gedacht.
Würde aber 0x00, 0x01, 0x08, 0x09 und 0x10 sperren wollen, damit keiner 
Unsinn macht.

> Eventuell könnte man noch eine Check einbauen ob die eingestellte
> Adresse schon verwendet wird und jemand schon auf das Polling reagiert.
> Man könnte sogar noch einen Autoadressmodus einbauen, der die ganzen
> Adressen mit "Gerät" duchtestet wenn die 0x0b belegt ist.
> Aber denke das ist nicht wirklich nötig, oder?
Ähm, nö ;)

Viele Grüße

Jürgen
Gast #3322038
Lesenswert?

Hallo Jürgen,

Woher hast Du das mit Heizkreis 1-4?

Auf meiner RC30 wird für die 0x17 "RC20 HEIZKR"
Die nachfolgenden 8 nur mit "RC20".

Was hast Du denn noch mal für einen Raumcontroller? Die 35?

Sind die ersten 4 Adressen jeweils Heizkreis 1-4? Was ist mit den 
anderen 4 Adressen? Reserve für Anlagen mit bis zu 8 Heizkreisen?

Gruß
Ingo
Gast #3322432
Lesenswert?

Jürgen Schmied schrieb:
> PS: Das mit den 4 Heizkreisen geht aus den Planungsunterlagen EMS
> und
> RC35 hervor.

Also die Adressen 0x18 bis 0x1f sind dann wohl die Heizkreise 1 bis 8 
beim EMS-Bus. Vermutlich kann die RC30 nur 4 Heizkreise. Möglich dass 
eine andere Steuerung 8 Heizkreise unterstützt oder es ist nur eine 
Reserve im EMS-Bus vorgesehen für eventuell größere Steuerungen.

Das einzige was mich dann irritiert ist dass diese Adressen als "RC20" 
angezeigt werden. Die 0x17 wird dann seltsamerweise als "RC20 Heizkr" 
bei mir angezeigt.

Da es bei den anderen Modulen Mischer, Warmwasser und Solar auch 8 
Adressen gibt wundertn mich die "neunte" bei der RC20.

Hat da irgendjemand eine Idee?

Gruß
IngoF
Gast #3325203
Lesenswert?

Jürgen Schmied schrieb:
> Ingo hat diese gebaut. So weit ich weiß, sind aber alle weg.
>
> vg
>
> Jürgen

Die Platinen zu bestücken lohnt sich erst ab etwa 10 Platinen. Es werden 
viele Bauteile nur einmal benötigt die ab 10 Stück nur noch ein 
Bruchteil kosten.
Ich kann auch nicht für 10 Platinen die Bauteile bestellen und nur nach 
Bedarf bestücken. Ist einfach zuviel Geld was da herumliegt.

Ein weiteres Problem ist natürlich die zeit die für die Bestückung 
draufgeht.

Um einen guten Preis für die Platinen zu machen habe ich 10 über Bedarf 
bestellt.

Eine habe ich schon abgegeben.

Wer also die Platinen selber für sich bestücken möchte kann gerne eine 
Platine von mir inkl. Der Bauteile die schon nicht mehr erhältlich sind 
plus ein paar Bauteile die es wohl nur bei Farnell gibt.

Gerne gebe ich auch alle 9 restlichen Platinen ab falls die jemand 
bestücken möchte. Bestellliste mit Artikelnumer gibt es mit dabei.

Lötpaste, Lötschablone könnte ich mitliefern falls jemand dazu Lust hat 
alle zu bestücken oder zumindest das Material dazu zu bestellen.

Falls die Nähe das erlaubt (Münster) kann auch mein Lötöfen ausgeliehen 
werden.

Gruß
Ingo
Gast #3325644
Lesenswert?

Hallo Ingo,

ich würde erst mal eine Platine & die Bauteile nehmen um zu sehen wie 
ich damit zurechtkomme. Konventionell Löten wäre kein Problem aber mit 
SMD Bauteilen und Ofen habe ich  noch nichts gemacht. Ich würde mal hier 
in Karlsruhe im hackerspace fragen ob ich deren Ofen verwenden darf.

Wenn ich die fehlenden Bauteile anhand einer Stückliste bei RS 
Components bestellen könnte wäre das ok. Ein Kundenkonto bei Farnell 
habe ich leider nicht. Brauche ich die Lötschablone?

Könntest Du mir schreiben ob du PayPal oder Überweisung möchtest und was 
Du dafür bekommst! Vielleicht direkt an l.rueter (at) gmail.com?

Gruß Lars
Gast #3325848
Lesenswert?

Man kann eine Platine auch von Hand löten. Dazu benötigt man keinen 
REFLOW-Ofen oder eine Schablone um die Lötpaste aufzutragen. Die 
Schablone benötigt man zum Reflow-Löten

Das Problem beim Handlöten ist nur der USB-Chip mit 0,5 mm Beinabstand.
Dazu am besten alle Lötflachen verzinnen, Chip auflegen und mit einer 
sehr feinen Spitze oder besser einen kleinen SMD-Lötkolben nur noch 
erhitzen um das Lötzinn schmelzen zu lassen. Eventuell noch mit etwas 
feinen Lötzinn.

Habe nur eine Bauteilliste von Mouser. Da kann man aber ohne Probleme 
auch als Privatperson bestellen.

30 EUR Die Platine mit den "seltenen" Bauteilen inkl. Versand
48 EUR der restliche Satz Bauteile von Moauser sonst 38 EUR
20 EUR Versand von Mouser
======
98 EUR

Es kann sich aber noch was sparen lassen...

- 6 EUR für das nichtbestücken des CAN-Teils
-15 EUR Versand wenn man nicht bei Mouser bestellt.
=======
-21 EUR

Allerdings habe ich keien Ahnung ob dann woanders die Bauteile auch 
teurer sind.

Dazu kommt dann noch ein Gehäuse von Conrad und ein Netzteil 9V um 
500mA.

Etwas kann man noch einsparen wenn man schon 5V= Gleichspannung hat.

Hoffe es hilft als kleiner Überblick..
Gast #3325935
Lesenswert?

Klasse! 100 EUR ist für mich OK. Die Platine mit den "seltenen" 
Bauteilen & Stückliste für die restlichen Bauteile von Mouser inkl. 
Versand bekomme ich von Dir. Richtig? Wie kann ich Dir die 30 EUR und 
Lieferadresse am besten zukommen lassen?

Gruß Lars
#3325963
Lesenswert?

Hallo Ingo Hallo Jürgen
wie ist denn der aktuelle Stand der Firmware? Hat sie schon einen Status 
zum testen erreicht ? Ich bekomme in den nächsten Tagen das 
Ethernetmodul aus China und wollte dann mal die Kommunikation über 
Netzwerk ausprobieren

Hallo alle
hat sich schon jemand Gedanken zum anbinden an FHEM gemacht ?
Eine Anbindung über JSON würde glaube ich der richtige Weg sein. Aber 
ganz ehrlich mir fehlt da noch der Plan dazu, werde mich aber versuchen 
einzuarbeiten.

lg
Stefan
(Firma: privat) #3325995
Lesenswert?

Hallo!

Ich habe im Moment folgendes am Laufen:
- EMS-Interface
- USB-Konsole
- Telnet-Konsole

dabei haben sowohl USB als auch TELNET den bekannten RAW und Hexmodus 
und funktionieren gleichartig. Damit müsste ich in den nächsten Tagen so 
weit sein, dass ich es rausgeben kann.
Diese Features sind so klein, dass sie auch auf dem alten Board laufen 
würden.

Die Weboberfläche und JSON Zugriff sind halbfertig, die hab ich 
zugunsten des Telnet Zuganges erst mal zurückgestellt.

Was ich noch testen muss ist Bootloader-Mechanismus. Fall die *.hex 
Datei den Bootloader überschreibt, müsste man das Board mit einem 
PIC-Programmierer wiederbeleben, das möchte ich nicht riskieren. 
(Verhindert der Bootloader das nicht vieleicht ??? - muss ich nachsehen)

Falls Du einen PIC-Programmierer hast und selbst compilieren kannst, 
lass Dir doch von Ingo den SVN Zugang geben, ansonsten musst Du noch 
paar Tage  warten.
(Falls Du nur den Programmierer hast, kann ich Dir auch ein Hex-File 
machen. Damit kannst Du ja notfalls die alte FW wiederherstellen.)

PS: Für das China-Modul nicht den 3,3V Regler vergessen! Die Eingänge 
vertragen aber 5V.
PSS: Das Modul nimmt 200 mA d.h. Regler richtig dimensionieren und ggf. 
vor dem 5V Regler anklemmen. Sonst wird der 5V Regler je nach 
Eingangsspannung des Boards richtig warm. Mehr dazu im Wiki.

vg

Jürgen
Gast #3326013
Lesenswert?

Jürgen Schmied schrieb:
> Verhindert der Bootloader das nicht vieleicht ??? - muss ich nachsehen

Musst Du nicht nachsehen....

Wenn Du das Hex-File über die AN1310 Software vom Bootloader über USB 
programmierst kannst Du den Bootloader nicht zerschießen.

Über ISCP muss der Programmer wissen dass er bis 0x400 einschließlich 
nichts brennen soll. Es sind keine Bereiche durch Config-Bits 
geschützt...

Gruß
ingo
(Firma: privat) #3326028
Lesenswert?

Hallo!

Hier noch ein Foto von Ethernet-Anschluss für ein altes Board.

Das Leitungen von Port A, B und C gebraucht werden, habe ich mich für 
die "Huckepack-Platine" entschieden.
Der rote Draht versorgt den 5V Pin des Port B aus der ungeregelten 
Eingangsspannung. Auf der Platine sitzt der 3,3V Regler und ein 
Kondensator. Paltz wäre auch noch für Pegelwandler für einen 
SD-Kartenanschluss.

PS: Der PIC & Quarz sind auch ausgetauscht, damit ist das Board 
kompatibel zur neuen Version ist.

vg

Jürgen
Angehängte Dateien:
Gast #3326031
Lesenswert?

>ein bis zwei Wochen dauern bis ich die Platine losschicken kann..
Kein Problem. So eilig hab ich es nicht.

@Jürgen, im Prinzip wäre es mir am liebsten selber zu kompilieren. 
Kannst Du eine IDE / einen PIC Programmer empfehlen? Ich habe eben mal 
geschaut, die Programmer scheinen nicht so viel zu kosten (<100 EUR). 
Muss ich bei der Auswahl des PIC Programmes für dieses Projekt etwas 
beachten?

Gruß Lars
OP #3326048
Lesenswert?

lrueter schrieb:
> wäre es mir am liebsten selber zu kompilieren.

kein Problem...

SVN-Zugang schick ich Dir gleich zu. Kompilieren geht dann auch über die 
Microchip IDE (MPLAB-8 oder -X). Programmieren kann man über USB ohne 
Programmiergerät...

Sonst kann man aber auch über ISCP-programmieren. Ich habe das PicKit3. 
Es gehen aber auch andere Nachbauten die es im Web günstig gibt..

Gruß
Ingo
OP #3327542
Lesenswert?

So,

habe jetzt genug an der Wiki rumgefummelt!

Jetzt hat sich zum letzten mal die Adresse geändert. Der Port (:8001) 
kann und muss jetzt weggelassen werden. Neue Adresse:
http://ems-gateway.myds.me/dokuwiki/

Sonst hat sich auch noch was geändert:
Unregistrierte Benutzer können jetzt auch alles lesen.
Registrierte Benutzer können jetzt per Mail bei Änderungen informiert 
werden.

Gruß
IngoF
(Firma: privat) #3335945
Lesenswert?

Hallo!

Dann sollten wir uns mal auf eine Displaygröße einigen. Bisher war das 
LCD ja nur ein Zusatzfeature, welches Ingo und ich anfangs zum Debuggen 
genutzt haben. In der neuen Firmware nutze ich es aber schon lange nicht 
mehr dazu.
Die Ausgabe der FW-Version ist ja zur Begrüßung nett, aber im Betrieb 
doch einigermaßen sinnfrei. Besser wäre es ja mal ein paar Werte 
anzuzeigen, die der Raumcontroller nicht so einfach rausgibt.
Also mal als Vorschlag:

Display 4x20:
- Ungefährer Verbrauch (kWh) für Heizung und WW letzter Tag (also 
gestern)
- Ungefährer Verbrauch (kWh) für Heizung und WW gesamt (rücksetzbar)
- Temperaturen (Innen, Aussen, WW, HK) nebeneinander
- Min/Max Aussen, Innen nebeneinander
- Brennerstarts letzte 24 Stunden (ist das interessant?)
- Warmwasserbereitungen letzte 24 Stunden (ist das interessant?)

Lässt sich sonst noch etwas interessantes aus den Kenndaten berechnen 
?
Die Uhrzeit gibts ja minütlich am Bus, die neue FW hat aber schon eine 
eigene Uhr an Board, die kann ich mit der Anlage synchronisieren.

Der Mikrocontroller hat ja ein EEPROM, da kann ich problemlos 
Differenzen bilden.

Den Verbrauch würde ich als Laufzeit * Leistung in % * Kesselleistung 
schätzen. Ein Korrekturfaktor kann eingegeben werden. Damit kann man 
wenigstens grob abschätzen, das die Anlage frisst.

Da Ganze kann dann in die 2. Betaversion rein.

vg

Jürgen
OP #3336035
Lesenswert?

Stefan Muehlbauer schrieb:
> mir ging es erst mal um den Funktionstest

Also der LCD-Anschluss funktioniert und habe ich schon getestet und 
Kontrast richtig eingestellt.

Allerdings habe ich nur alles provisorisch auf das neue 40MHz-Board 
angepasst. Und die Initialisierungs-Routine des LCD funktionierte nur 
bei der Hälfte meiner Displays.

Das ist aber ein Timing-Problem. Da die neue Software ja in naher 
Zukunft fertig ist habe ich kein Grund gesehen das LCD-Display und die 
Sendefunktion wieder zum laufen zu bekommen.


Also der Begrüßungsstring mit der Version macht wirklich keinen Sinn auf 
dem Display länger anzuzeigen. Sinnvoll wäre es den String beim 
Einschalten für ein oder zwei Sekunden anzeigen zu lassen und dann das 
Datendisplay anzeigen zu lassen.

Denke die Bezeichnungen der Werte sollten stark abgekürzt sein oder ganz 
fehlen.
TR20,0 für Raumtemperatur. Müsste man mal sehen wiviel Platz drin ist.

Denke die Brennerstarts und Warmwasserbereitungen machen nicht unbedingt 
Sinn. Da schaut man wenn überhaupt nur alle paar Monate drauf, oder?

Der ungefähre Heizbedarf in % ist eine sehr gute Idee....

Als-Display würde ich auch schon 4x20 vorschlagen. Selbst bei der 
Displaygröße wird das mit den genannten Werten schon bestimmt ziemlich 
eng.

Vielleicht könnte man ja in weiterer Zukunft die LCD-Anzeige 
konfigurierbar machen. Also. z.B mit Telegrammtyp und Offset mit 
Startadresse EEprom ablegen. Dann könnte jeder anzeigen lassen was 
gerade interessant ist.

Gruß
Ingo
#3336051
Lesenswert?

Ingo F. schrieb:

>
> Als-Display würde ich auch schon 4x20 vorschlagen. Selbst bei der
> Displaygröße wird das mit den genannten Werten schon bestimmt ziemlich
> eng.
>

Gibts für eine passende 4X20-Anzeige einen Link.
Ich habe z.Zt. ein 2-zeiliges und weiss noch gar nicht, ob das überhaupt 
angesteuert wird. Ich sehe nur in de zweiten Zeile alle Stellen 
angegraut, wenn ich den Kontrast genug aufdrehe. Meine Platine hängt 
noch nicht am EMS-Bus. Daher wäre eine kurze vielleicht 5 Sek. Anzeige 
vielleicht ganz sinnvoll, um zu sehen, ob die Platine überhaupt läuft.
Gast #3336109
Lesenswert?

Rainer Gerhardt schrieb:
> Ich habe z.Zt. ein 2-zeiliges und weiss noch gar nicht, ob das überhaupt
> angesteuert wird.

Also das wird auch funktionieren. Das Problem ist nur die auf die 
schnelle angepasste Zeitroutinen die nicht mehr so 100% richtig sind und 
deshalb vermutlich nicht funktionieren wird.

bei zweizeiligen Display wird dann eben nur der Anfang der ersten und 
dritten Zeile angezeigt.

Ganz interessant sind auch OLED-Displays.
Habe mir testweise eins bestellt und bin begeistert. Allerdings zieht 
das alleine schon 40mA. Das könnte an der ersten Platine Probleme geben.

Wichtig ist nur:
Jürgen Schmied schrieb:
> HD44780 kompatibel

Gruß
Ingo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren