Arduino Raumgerät "light" für BSB-LAN-Adapter gesteuerte Heizungen

Begonnen von Andreas29, 08 Oktober 2018, 09:09:49

Vorheriges Thema - Nächstes Thema

Andreas29

Moin,

für meine Heizung, die mittels BSB-LAN-Adapter ans heimische Netzwerk angebunden ist habe ich mir basierend auf einem Arduino Uno eine Art Raumgerät "light" gebaut und programmiert.
Auf einem 4 x 20 LCD werden Betriebsstatus der Heizung, Fehlerstatus sowie die aktuellen Daten eines Temperatursensors angezeigt. Die Temperaturdaten werden alle 20 sec über LAN zur Heizung gesendet.
Weiterhin habe ich einen Taster, der die Präsenzfunktion simuliert (die Regelung akzeptiert nicht den Parameter zum setzen der Präsenztaste). Bei Betätigung des Tasters wird (unter bestimmten Bedingungen) die Heizung in den Komfortbetrieb gesetzt und bei erneuter Betätigung wieder zurück in den Automatikbetrieb geschaltet. Vergisst man dies wird die Heizung nach ca. zwei Stunden automatisch zurück in Automatikbetrieb geschaltet.

Wie gesagt, Kommunikation über LAN, lässt sich aber auch auf WLAN adaptieren. Das Arduino-Modell ist wohl auch variabel.

Sketch im Anhang.
Schaltplan mache ich mal bei Gelegenheit und wenn Interesse besteht.

Grüße

Andreas

Schotty

Zitat von: Andreas29 am 08 Oktober 2018, 09:09:49
Schaltplan mache ich mal bei Gelegenheit und wenn Interesse besteht.
Moin Andreas,
also das klingt wirklich gut, das würde ich gerne mal nachbauen - an einem Schaltplan, einer genauen Teileliste und generell mehr Infos besteht also auf jeden Fall Interesse! :D
Kannst du bei Gelegenheit auch mal ein oder zwei Bilder mit reinstellen?
Wenn optional noch die Verwendung eines ESP oder Wemos statt Ardu&LAN-Shield möglich wäre, dann könnte man ja so einige Raumgeräte basteln..hmmm...  8)
Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

#2
Hi,

anbei zwei Bilder und ein Schaltplan.
Bei den Anschlüssen für LCD und Temperatursensor sind die Bezeichnungen wichtig, nicht die Nummerierung, die ist möglicherweise nicht richtig.
DAs Ethernetshield habe ich mir jetzt in der Darstellung gespart.
Der Taster ist zusätzlich mittels eines 100 kohm Widerstand als "pull-down" Widerstand gegen Masse geschaltet, so wird der Arduinoeingang mit einem definiertem Potential beaufschlagt, 0 ist dann 0V und 1 ist 5 V ohne den Widerstand kann es undefinierte Schaltzustände geben.

Man braucht noch mehrere zusätzliche Bibliotheken.
Die für den Temperatursensor ist bereits standartmäßig installiert.
Man braucht eine passende für die LCD-Anzeige. Die von mir verwendete LCD Anzeige wird über I2C angesteuert, verwendet habe ich dazu eine Bibliothek von hier: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/ (die neueste).

Zusätzlich gibt es eine Bibliothek "TextFinder", diese findet man auf der Arduino-Seite mit der Suche oder hier: https://playground.arduino.cc/Code/TextFinder

Die Bibliotheken muss man installieren, dann den Sketch öffnen und IP-Adressen anpassen. Auch kann man natürlich den Korrekturwert für den Temperatursensor oder die Werte in den Zeitschleifen anpassen.

Dann auf den Arduino hochladen. Dann sollte eine Verbindung zur Heizung (bzw. zum BSB-LAN-Adapter) aufgebaut werden können und die Infos werden von der Heizung geholt und der Temperaturwert zur Heizung gesendet. Es ist KEIN Thermostat (das wollte ich so nicht) sondern es wird nur der Temperaturwert zur Heizung gesendet und dort im Regler unter Parameter 750 Raumeinfluss verwurstet.

Mit der Taste kann man die Heizung auf Komfortbetrieb (also heizen auf die Tagesraumtemperatur) schalten. Das bleibt solange man ein zweites mal die Taste betätigt oder nach ca. zwei Stunden automatisch, wenn man die Taste vergisst. Dann wird die Heizung zurück in den Automatikbetrieb geschaltet.
Zusätzlich gibt es noch ein paar Bedingungen, so schaltet die Heizung im Sommerbetrieb oder bei "TagesEco" nicht in den Heizbetrieb, oder wenn die Heizung sowieso im Automaikmodus im Komforbetrieb ist, auch dann nicht.

Sollte die Heizung einen Fehlercode senden so wird dies angezeigt (statt Heizung OK steht dann dort eben "Fehler") und als Status werden Sonne, Mond oder Schneeflocke für Komfort, Nachtabsenkung oder Frostschutz sowie zusätzlich Sommerbetrieb oder TagesEco angezeigt.

Teile:
Arduino Uno oder ähnlich
Ethernet Shield, ich verwendete dieses https://eckstein-shop.de/HIMALAYA-basic-w5100-Ethernet-Shield-fuer-Arduino
Temperatursensor DHT22, hier habe ich diesen: https://eckstein-shop.de/DHT22-AM2302-Digital-Temperatur-Feuchtigkeit-Sensor-Modul-Arduino-Raspberry-Pi
LCD-Display war ein I2C 4x20 Display ich nahm dieses: https://eckstein-shop.de/Character-20x4-LCD-Display-Module-2004-White-on-Blue-5V-I2C-Interface-HD44780
Mit dem Laden habe ich keine Verbindungen, ich hatte nur dort bestellt.
Taster und Widerstand aus der Bastelkiste.

Ich habe mir mal probehalber ein kleines Tft-Display bestellt, mit dem muss ich aber noch ein bisschen rumprobieren.

Ich habe aus verschiedenen gründen kein WLAN-Modul verwendet, aber eine Adaption für Arduinos mit WLAN-Modul ist grundsätzlich möglich. Man kann das dann so übernehmen, muss nur den Teil zum Aufbau der WLAN-Verbindung hinzufügen.

Grüße

Andreas

Schotty

Klasse, vielen Dank!

Wärst du damit einverstanden, wenn ich dein Projekt im BSB-LAN-Handbuch mit Hinweis auf diesen Thread erwähne? Nicht jeder liest hier im Forum mit, meist reicht das Handbuch als Informationsquelle und ich könnte mir vorstellen, dass es sicherlich der eine oder andere Nutzer ganz gut gebrauchen kann, zumal die Präsenztaste ja bei mehreren OEM-Reglermodellen keine Wirkung zu zeigen scheint.

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

#4
Hi,

ja klar, ist ja alles open source und wenn man was beitragen kann und davon dann andere user einen Nutzen haben ist doch gut.

Ich kann aber keine Garantie für irgendwas übernehmen.  :D

Bei mir läuft das alles wie beschrieben. Ich bin nicht der Arduino-Nerd (habe erst ein paar Programme "Erfahrung") aber ein ganz klein bisschen muss man schon die Arduino-Welt verstehen (z.B. um die Bibliotheken einzubinden). Aber man braucht m.M. nach keine Megaerfahrung um solch ein Teil an´s laufen zu bekommen.

Da die Regler und Parameter bei den diversen Heizungsmodellen gleich sind, sollte also bei allen Heizungen die den LVM14-Regler von Siemens nutzen und mit dem BSB-LAN-Adapter bereits ans heimische Netz angebunden sind die Funktion gegeben sein.

Viel Spaß beim Nachbauen.
Würde mich über Rückmeldungen dazu freuen.

Noch ein Hinweis: Je nachdem an welcher Stelle der Arduino gerade im Programm ist kann es ein paar Sekunden dauern bis er auf die Taste reagiert.
Das habe ich ihm noch nicht abgewöhnen können.
Hinweis zwei: Je nachdem wie man die Spannungsversorgung realisiert kann es bei Betätigung des Tasters zu seltsamen kurzfristigen zusätzlichen Sonderzeichen auf der Anzeige kommen.
Die stören nicht die Funktionalität, sind nur Optik.
Ob hier noch ein höherer Wert für den Pull-Down Widerstand oder noch eine etwas andere Verschaltung nötig ist, daran experimentiere ich noch rum.
Allerdings ist der Störfaktor derzeit nicht soo groß und meine Zeit begrenzt.

Ach so, da fällt mich noch etwas ein:
In der BSB-LAN-Adapter-Konfigurationsdatei muss man die Parameter auf "Schreibbar" setzen. Das Raumgerät "light" kommuniziert ja über diesen Adapter mit der Heizung und will ggf. ja Parameter der Heizungsregelung ändern können.

Grüße

Andreas

Schotty

Super, dann werde ich das demnächst mal mit reinnehmen. Sollte bei eigtl. allen (ISRplus-)Reglern entsprechend funzen, nicht nur LMS14..  ;)

Ich habe leider nicht wirklich Programmierkenntnisse, sonst hätte ich neben der optionalen WLAN-Möglichkeit noch ein oder zwei Ideen, die ich mit einbringen würde - bspw. 1.) optional auch DS18B20-Verwendung statt DHT22 und 2.) die Verwendung ohne Übermittlung der gemessenen Raumtemp an den Heizungsregler und somit auch ohne Raumeinfluss, also quasi nur als 'reine' Status-Anzeige und Betriebsartumschaltung/Präsenztaste.
Aber wenn ich mal ausreichend Zeit und Motivation habe, werde ich mich vielleicht mal dran versuchen, das im Skript umzusetzen - ich bin da zwar skeptisch, ob ich das hinbekomme, aber mal sehen.. ;)

Kann das mit der Verzögerung vielleicht auch daher kommen, dass BSB-LAN und/oder der Regler selbst evtl gerade mit einem anderen Befehl beschäftigt ist? Finde ich persönlich jetzt aber auch nicht so schlimm - Hauptsache, es funzt generell :)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

Hi,

da ich mich bemüht habe das Programm mit Unterprogrammen zu strukturieren braucht man nur den Aufruf zur Unterroutine SendeTemp auszukommentieren und die Subroutine SendeTemp ebenfalls oder ganz weglassen. Tataa schon wird die Raumtemperatur nicht mehr gesendet.  :D

Aber selbst wenn die Raumtemperatur gesendet wird. Diese hat erst dann eine Funktion, wenn man im Regler den Parameter 750 auf einen entsprechenden %Wert setzt. Bei 0 oder -- hat die Raumtemperatur null Einfluss.

Zum Temperatursensor: Ja, wenn man einen anderen nimmt muss man ggf. die Bibliothek anpassen (relativ am Anfang vom scribt) und evt., wenn die Datenübermittlung anders ist, das Auslesen auch. Aber mit einem DS18 hatte ich mich noch nicht beschäftigt.

Die Verzögerung bei der Taste kommt meist wenn das Teil gerade über LAN mit dem LAN-Adapter kommuniziert. Bei dem Frage/Antwortspiel ist der Arduino ziemlich beschäftigt, auch weil er ja die Antworten nach bestimmten Schlüsselzeichen durchsucht  :D
Aber für den Hausgebrauch....reicht´s  ;)

Grüße

Andreas

Schotty

Zitat von: Andreas29 am 08 Oktober 2018, 14:38:27
da ich mich bemüht habe das Programm mit Unterprogrammen zu strukturieren braucht man nur den Aufruf zur Unterroutine SendeTemp auszukommentieren und die Subroutine SendeTemp ebenfalls oder ganz weglassen. Tataa schon wird die Raumtemperatur nicht mehr gesendet.  :D
Super  :D

Zitat
Aber selbst wenn die Raumtemperatur gesendet wird. Diese hat erst dann eine Funktion, wenn man im Regler den Parameter 750 auf einen entsprechenden %Wert setzt. Bei 0 oder -- hat die Raumtemperatur null Einfluss.
Ja, das ist klar - aber u.U. hat man den Parameter zwar für ein anderes Raumgerät gesetzt, möchte aber bei deiner Fernbedien-Möglichkeit den Raumeinfluss nicht nutzen.. ;)
Oder man nutzt ihn generell nicht - mache ich bei meiner eigenen Heizung trotz vorhandenem Raumgerät auch nicht, da nutze ich eine feste Hysterese.

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

Hi,

ok, kann ich nachvollziehen.

Ich habe gerade mal alles bezüglich Temperaturanzeige, -Sendung und Senorik rausgenommen.
Der Sketch sieht dann so aus wie im Anhang. Ist aber nicht getestet  :o
Kompilieren geht ohne Fehlermeldung.

Man kann ja auch noch z.B. um einen Drehtaster oder zwei Taster + / - ergänzen um den Raumsollwert zu ändern.
Möglichkeiten gibt es so einige.
Da ich aber meine Familie kenne, habe ich bewusst keine weiteren Stellmöglichkeiten geschaffen  ;)

Grüße

Andreas

Gizmo_the_great

Ich finde es wirklich super das rund um das Thema BSB-LAN immer wieder weiter getüftelt und entwickelt wird.
Auch nochmal ein Riesenlob an Freetz und Schotty!

Ich habe meinen Raumfühler über einen Wemos D1 mini mit einem DHT22 realisiert.
Auf dem Wemos läuft ESPeasy.
In den Rules habe ich folgendes definiert:

//////////////

On System#Boot do    //When the ESP boots, do
SendToHTTP 192.168.178.11,80,/Passcode/I10000=[DHT#temperature]
  timerSet,1,45      //Set Timer 1 for the next event in 45 seconds
endon

On Rules#Timer=1 do  //When Timer1 expires, do
SendToHTTP 192.168.178.11,80,/Passcode/I10000=[DHT#temperature]
  timerSet,1,45       //Resets the Timer 1 for another 45 seconds
endon

////////////

Über ein OLED SSD1306 wird auch die aktuelle Temperatur von HK1 und HK2 angezeigt.


Grüße

Gizmo_the_great


Gesendet von iPad mit Tapatalk Pro
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

Schotty

Zitat von: Andreas29 am 10 Oktober 2018, 11:03:54
Ich habe gerade mal alles bezüglich Temperaturanzeige, -Sendung und Senorik rausgenommen.
Der Sketch sieht dann so aus wie im Anhang. Ist aber nicht getestet  :o
Oh cool, danke! Dann kann ich die beiden Versionen ja gut vergleichen und sehe besser, wo was wofür ist. Prinzipiell finde ich die Tempanzeige schon gut, nur eben nicht zwingend mit Übermittlung. Mal sehen, bei Gelegenheit werde ich da mal dran gehen und auch versuchen, WLAN und einen DS18B20er zum Laufen zu bringen.  ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

Zitat von: Gizmo_the_great am 10 Oktober 2018, 18:04:15
Ich finde es wirklich super das rund um das Thema BSB-LAN immer wieder weiter getüftelt und entwickelt wird.
Auch nochmal ein Riesenlob an Freetz und Schotty!
Hi Gizmo,
ja finde ich auch super - und wenn die Nutzer dann noch ihre individuellen Lösungen reinstellen, so wie Ihr jetzt mit Euren 'Raumgeräten', dann freut es mich umso mehr und es macht umso mehr Spaß  :D
Danke für's Lob ;)

Zitat
Ich habe meinen Raumfühler über einen Wemos D1 mini mit einem DHT22 realisiert.
Auf dem Wemos läuft ESPeasy.
In den Rules habe ich folgendes definiert:

//////////////

On System#Boot do    //When the ESP boots, do
SendToHTTP 192.168.178.11,80,/Passcode/I10000=[DHT#temperature]
  timerSet,1,45      //Set Timer 1 for the next event in 45 seconds
endon

On Rules#Timer=1 do  //When Timer1 expires, do
SendToHTTP 192.168.178.11,80,/Passcode/I10000=[DHT#temperature]
  timerSet,1,45       //Resets the Timer 1 for another 45 seconds
endon

////////////

Über ein OLED SSD1306 wird auch die aktuelle Temperatur von HK1 und HK2 angezeigt.
Hast du da noch Genaueres? Schaltplan oder sonstwas, was für einen Nachbau nötig/hilfreich/interessant wäre?
Auch deine Lösung würde ich gerne mit ins Handbuch reinnehmen, wenns dir recht ist.

Ich glaube, ich werde mal ein extra Kapitel machen, wo so individuelle Lösungen und Bastelprojekte bzgl BSB-LAN mit aufgeführt werden. Das kann für den einen oder anderen echt hilfreich und inspirierend sein! Wenn es mehr wird, könnte ich ja vielleicht auch bei GitHub beim Handbuch eine kleine Sammlung solcher Projekte mit reinstellen? ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

Hi,

@Schotty: Anbei Sketch mit Anzeige der Sensortemperatur (am Arduino angeschlossener Sensor (hier DHT22)) am LCD aber ohne Sendung zur Heizung.

Jetzt ist nur die Unterroutine SendeTemp und der Aufruf dazu verschwunden.

Wie gesagt, das ist beliebig umstellbar, man braucht nur die passende Unterroutine wegnehmen. Die eigentliche Hauptschleife holt sich nur die diversen Informationen und wertet die aus und setzt diverse Variablen als Merker.
Man hätte dieses Informationssammeln auch noch in Unterroutinen packen können, dann wäre es noch strukturierter.
Ich hatte mir aber zugegebenermaßen den sketch so aus den Ärmel in den Rechner geschüttelt ohne mir vorher irgendwelche Aufzeichnungen über Programmstrukturen zu machen, so sind diese Aktionen eben in der Hauptroutine gelandet und das andere habe ich dann in Unterroutinen gepackt.

Grüße

Andreas

Schotty

Zitat von: Andreas29 am 10 Oktober 2018, 20:53:47
@Schotty: Anbei Sketch mit Anzeige der Sensortemperatur (am Arduino angeschlossener Sensor (hier DHT22)) am LCD aber ohne Sendung zur Heizung.
Hi Andreas, das ist sehr nett von dir, vielen Dank!  :D
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Gizmo_the_great

Hi,
ich erstelle gerade eine Doku über meine Automatisierung.
Die Raumfühler sind noch auf dem Status Quick'n'Dirty zusammen geklöppelt.
Kein Gehäuse, Kabelbinder, also nicht fotogen...

Sobald ich etwas habe was ich euch präsentieren kann, berichte ich darüber.

Greetz und schönen Sonntag

Gizmo


Gesendet von iPhone mit Tapatalk Pro
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

Schotty

Ich erstelle gerade ein neues Kapitel im Handbuch, wo ich eigene Hardwarelösungen von Nutzern vorstelle. Bisher kommt das 'Raumgerät light' von Andreas29 (kurze Vorstellung mit Abbildung deiner beiden Fotos und dann Link auf diesen Thread) und später dann auch der Raumfühler von Gizmo_the_great rein.

@Gizmo: Ich bin gespannt, Unterkapitel ist vorbereitet und wartet auf Inhalt ;)

@Andreas: Du hattest im anderen Thread folgendes erwähnt:
Zitat von: Andreas29 am 11 Oktober 2018, 15:22:05
Ich habe bei meiner Softwarepräsenztaste die "TagesEco" Bedingung mittlerweile herausgenommen soll heissen, auch bei "TagesEco" kann die Heizung in den Komforbetrieb geschaltet werden.
Könntest du die neue .ino hier freundlicherweise auch nochmal einstellen? Könnte für Nachbauer interessant sein.. ;) Danke!

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

#16
Hi,

in den hier an den Posts angehängten sketches ist das schon so.
Ich hatte in meinen allerersten Versionen den "Hand"betrieb auch bei TagesEco gesperrt, dann aber herausgenommen. Das hatte ich verdrängt.


Die Umschaltung auf Komforttemperatur bei den hier vorliegenden Programmen erfolgt wenn:

Die Heizung nicht im Sommerbetrieb ist
Bei Betätigung der "Hand"Taste wird auf dem LCD angezeigt "Heizbetrieb bei herrschenden Aussentemperaturen nicht möglich"

Die Heizung nicht im Automatikmodus und dabei auf Komforttemperatur heizt (weil Handbetrieb auf Komforttemperatur da keinen Sinn macht)
Bei Betätigen der "Hand"Taste wird "Heizung heizt" auf dem LCD angezeigt.

Die Heizung nicht im Handbetrieb auf Komforttemperatur heizt (da macht Handbetrieb auf Komforttemperatur ja auch keinen Sinn, die ist ja schon eingestellt)
Bei Betätigen der "Hand"Taste wird in diesem Fall der Handbetrieb zurück auf Automatikbetrieb gestellt und auf dem LCD wird "Automatikbetrieb EIN" angezeigt.

Sind die Bedingungen für einen Handbetrieb erfüllt wird "Handbetrieb Heizen EIN" auf dem LCD angezeigt und die Heizung auf Komfortbetrieb gesetzt (was dann ein Heizen auf den Komfortsollwert entspricht).

Die Zurückschaltung auf Automatikbetrieb erfolgt nach ca. zwei Stunden automatisch oder durch erneutes Betätigen der "Hand"Taste.

Neben den Statusmeldungen und dem Fehlerstatus wird im Falle einer Netzwerkverbindungsstörung oder wenn die Heizung (der LAN-Adapter) nicht antwortet "Keine Verbindung zu Hzg." im LCD angezeigt (solange der Adapter nicht antwortet oder erreichbar ist).
Diese Anzeige erscheint auch, wenn der LAN-Adapter gerade mit der Abarbeitung einer umfangreichen Anfrage beschäftigt ist weil er dann ja nicht auf die Anfragen des Raumgerätes "Light" antworten kann.

Grüße

Andreas

Schotty

Zitat von: Andreas29 am 18 Oktober 2018, 14:06:14
in den hier an den Posts angehängten sketches ist das schon so.
Ah super, das hatte ich nicht gecheckt ;)

Danke auch nochmal für die ausführliche Erklärung, deinen Bauvorschlag habe ich jetzt in der aktuellen Version des Handbuchs hinzugefügt (gestern hochgeladen).

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Andreas29

Zitat von: Schotty am 19 Oktober 2018, 12:25:14

Danke auch nochmal für die ausführliche Erklärung, deinen Bauvorschlag habe ich jetzt in der aktuellen Version des Handbuchs hinzugefügt (gestern hochgeladen).

Gruß

Hi,

danke  :)

Grüße

Andreas

postman

Hallo zusammen,
ich weiss nicht, ob das noch aktuell ist. Trotzdem habe ich ein paar Fragen:
ich habe dieses Display https://www.amazon.de/12864-RepRap-Graphic-Controller-Reader/dp/B00U6THIZA aus einem nicht funktionierenden 3d Drucker ausgebaut und nach diesem Schema

EXP1                        Mega pin

1   beeper                   37
2   encoder switch        35
3   LCD en                   38
4   LCD rs                    39
5   LCD data 4              23
6   LCD data 5              25
7   LCD data 6              27
8   LCD data 7              29
9   ground
10 +5V

EXP2

1   SD MISO                 50
2   SD SCK                   52
3   encoder B               31
4   SD CS                    53
5   encoder A               33
6   SD MOSI                 51
7   SD card detect        49
8   Stop button            41
9   No connect
10  No connect

direkt an den Arduino Mega 2560 angeschlossen.
Angesteuert wird das Display mit der U8g2lib.
Die Ansteuerung funktioniert soweit.
Ich möchte nun dieses Raumgerät, allerdings ohne Sensoren, realisieren. Als Taster liesse sich sicherlich der Stop button verwenden.
Ach ja, setBacklight kennt die Lib nicht; zumindest endet das Hochladen auf den Arduino mit Fehlern.

Hier noch ein codebeispiel, wie das Display angesteuert wird:

#include <U8g2lib.h>

U8G2_ST7920_128X64_F_SW_SPI lcd(U8G2_R0, 23, 39, 38, U8X8_PIN_NONE);
int stunde, minute, sekunde;
void setup() {
    lcd.begin();
      lcd.clearBuffer();
      lcd.setFont(u8g2_font_inb16_mf );     
    }


    void loop(){

      sekunde = (millis()/1000) % 60; // Das Zeichen: "%" ist der Modulo-Operator
      minute  = (millis()/60000) % 60;
      stunde  = (millis()/3600000) % 24;

      lcd.setCursor(16,20);
      lcd.print("Uptime:");
      lcd.setCursor(8,52);
      if (stunde<10) lcd.print("0"); // fuehrende Null
      lcd.print(stunde);

      lcd.print(":");

      if (minute<10) lcd.print("0");
      lcd.print(minute);

      lcd.print(":");

      if (sekunde<10) lcd.print("0");
      lcd.print(sekunde);
      lcd.sendBuffer();
    }

Kann mir da jemand helfen, wie ich das umsetzen kann; mit der Programierung komme ich nicht so gut klar.

Danke im vorraus
postman

Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Moin postman,

zur eigentlichen Frage kann ich leider nichts antworten, da kenne ich mich selbst nicht gut genug aus.

Interessehalber aber eine kurze Nachfrage:
Hast du es an den Mega des BSB-LAN-Setups angeschlossen? Oder an einen eigenen/extra Mega?
Ohne Sensoren betreiben heißt, du willst das quasi nur als Raumgeräteersatz zwecks Bedienung und Darstellung bestimmter Parameter auf dem Display nutzen?

Wenn du alles lauffähig fertig hast, wäre das m.E. eine Erwähnung im Handbuch wert und ich würde mich freuen, wenn du dein Projekt dann für Nachbauer zur Verfügung stellen würdest..?! ;)

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Hallo Schotty,
an einen seperaten Arduino Mega (hab ja mittlerweile einige, die auf eine sinnvolle Tätigkeit warten ;D)
Ach ja, ich vergass: Die Anbindung soll über WLAN erfolgen.
Zitat von: Schotty am 21 Januar 2020, 11:17:11

Ohne Sensoren betreiben heißt, du willst das quasi nur als Raumgeräteersatz zwecks Bedienung und Darstellung bestimmter Parameter auf dem Display nutzen?


Nur Darstellung, da ich auch den BSB-Lan nur zum Auslesen verwende. Mit schreibbar habe ich mir mal die Heizungssteuerung zum Absturz gebracht ???

Ja, wenn ich es denn lauffähig bekomme, kann das gern in Dein Handbuch.


Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Hmm, willst du dann noch ein zusätzliches ESP-Modul am Mega anschließen, oder wie willst du den WLAN-fähig machen? Wäre da dann nicht vielleicht gleich ein NodeMCU/WemosD1 (also ESP8266) sinnvoll(er)..?
Gizmos Lösung mit D1&Display kennst du? https://1coderookie.github.io/BSB-LPB-LAN/kap12.html#1262-raumtemperaturf%C3%BChler-wemos-d1-mini-dht22-display

OT: Was hast du denn angestellt und wie hat sich der 'Absturz' des Reglers dargestellt..?

Super, ich freu mich, wieder eine kreative Bastellösung mehr fürs Handbuch  :D
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Hallo Schotty,

Zitat von: Schotty am 21 Januar 2020, 12:51:10

OT: Was hast du denn angestellt und wie hat sich der 'Absturz' des Reglers dargestellt..?
Hatte ich, glaub ich zwar schon mal beim BSB-Lan geschrieben, aber ich hatte den BSB-Lan schreibbar gemacht und irgenteinen Parameter wohl falsch gesetzt. Ende vom Lied: ein Warmwasser mehr, weil 3Wege-Ventil nicht mehr korrekt angesteuert wurde. Und das am WE :-[
Der HM hat dann bei Broetje angerufen und die haben ihm dann erklärt, wie die Heizung so resettet wird, das alles auf Werkseinstellung zurückgesetzt wird. Seit dem geht es wieder
ZitatHmm, willst du dann noch ein zusätzliches ESP-Modul am Mega anschließen, oder wie willst du den WLAN-fähig machen? Wäre da dann nicht vielleicht gleich ein NodeMCU/WemosD1 (also ESP8266) sinnvoll(er)..?

Da muss ich mich erst mal schlau machen und schauen, wie so etwas am Mega angeschlossen wird.
Falls zu aufwendig oder kompliziert werde ich sonst das vorhandene Ethernetshield verwenden.

Gruß
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Schotty

Zitat von: postman am 21 Januar 2020, 14:15:50
Der HM hat dann bei Broetje angerufen und die haben ihm dann erklärt, wie die Heizung so resettet wird, das alles auf Werkseinstellung zurückgesetzt wird.
Anders als via Parameter 31? Falls ja und du dich noch daran erinnern kannst, wie es geht, dann schick mir doch bitte mal eine PN/Email, das würde mich mal interessieren. So, jetzt aber genug OT.. ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

postman

Hallo Schotty,
so erste Versuche haben funktioniert ;D
siehe Bild im Anhang.
Ich habe die ino-Datei von Andreas29 nur an das Display angepasst (siehe Anhang).
Es werden jetzt schon mal der Status der Heizung angezeigt. Seltsamerweise habe ich bei meinen Versuchenden BSB-Lan ausgebremst.
Der Arduino müllt den BSB-Lan derart mit seinen Anfragen zu, dass das Web des BSB-Lan dann irgentwan nicht mehr erreichbar ist. Erst nach einem Reset des BSB-Lan geht es wieder. :(

Ich bin leider nicht so firm, was das Programmieren des Arduinos angeht. Vielleicht gibt es ja jemanden, der mir erklären kann, wie ich es anstellen muss, damit ich andere Parameter abfragen kann und die Anfragen an den BSB-Lan so reduzieren kann, dass dieser sich nicht aufhängt.


Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...