Projekt Standheizung

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 734
Registriert seit: Apr 2014
Bewertung: 5
#21
20.12.2016, 23:10

Hallo Thomas,

ich war so frei und habe Deinen Code mal in die entsprechenden Tags gesetzt ([ code] ... [ /code] )

So.. zum Code, ich habe heute Abend leider nicht sehr viel Zeit, habe Deinen Code aber schon kurz überflogen. Im Unterprogramm loop() schaust Du mit SIM800.available(), ob vom Modul Zeichen empfangen werden. Solange SIM800.available > 0 ist, sind Zeichen zu empfangen.

Das empfangene Zeichen (es ist nur EINS pro Durchlauf) gibst Du auf der seriellen Schnittstelle aus und speicherst es in incoming_char. So und jetzt kommt meines Erachtest das Problem. Das bereits empfangene Zeichen ist nun in incoming_char (Aber eben nur eines). Nachfolgend (und zwar außerhalb von loop()) versuchst Du mit SIM800.read() ein weiteres Zeichen zu lesenund dieses in "befehl" abzulegen. So kann das nicht klappen. Deine Befehle für die Heizung werden im Grunde gar nicht erreicht.

Ich würde das jetzt mal so probieren (von mir ungetestet):

Code:
loop() {
   while (SIM800.available>0) {
     befehl = befehl + SIM800.read();
   }

   if (befehl == "telefonnummer") {
     heizungAn();
     befehl = "";
   }

  if (befehl == "sms von nummer mit Text Heizung an") {
    heizungAn();
    befehl = "";
  }
}

Also... es wird solange von SIM800 gelesen und das Ergebnis in befehl abgelegt, bis keine Zeichen mehr kommen. Danach wird geprüft, um welchen Inhalt es sich handelt. Und wenn der Inhalt passt, wird die Heizung eingeschaltet.

in setup() würde ich "befehl" noch mit befehl="" initialisieren.

Hoffe, das hilft Dir weiter.

Gruß,
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
tesacrep
Administrator
*******

Beiträge: 500
Registriert seit: Dec 2013
Bewertung: 2
#22
01.12.2017, 14:21

Hallo,


das Thema möchte ich mal wieder aus der Versenkung holen. Durch Zufall habe ich einen Chip entdeckt welcher die Standheizung über den W-Bus ansteuern bzw. auslesen kann.
Damit könnte man mit dem Arduino auch Fehler auslesen usw.

Die Bezeichnung vom Chip lautet: L9637d

Die Sachen (einschließlich L9637d) für ein Testsetup mit einer Webasto ThermoTop V und einem Arduino liegen bei mir schon bereit, bin aber leider noch nicht zum Testen gekommen.

Ich halte euch auf dem laufenden sobald ich ein paar Daten lesen konnte oder ich auf die ersten Probleme stoße Big Grin.


Grüße

tesacrep
Zitieren
tesacrep
Administrator
*******

Beiträge: 500
Registriert seit: Dec 2013
Bewertung: 2
#23
12.01.2019, 22:49

Hallo zusammen,


hier gibt es noch eine neue Erkenntnis. Man muss die Standheizung nicht über den W-Bus ansteuern, sondern viele Modelle haben auch einen Startpin. Es reicht, wenn man hier für einige Sekunden 12V+ anlegt.

Natürlich kann man darüber nicht diagnostizieren und es kommt auch keine Rückmeldung aber bei mir funktioniert das so wunderbar.

Auf diesen Pin greifen im Übrigen auch die Nachrüstfernbedienungen oft zurück. Bei Websato ist es zumindest so das sowohl Steuergerät als auch Standheizung diesen On-Pin als Ausgang/Eingang haben.
Vlt. hilft das ja dem einem oder andrem.

Grüße

tesacrep
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste