Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

trilu

@Dirk
Probier wirklich mal:
TWCR = 0;
Quelle: http://forum.arduino.cc/index.php/topic,21424.0.html


funzt!

jjf

Zitat von: trilu am 02 März 2014, 20:31:25
Klar,  Protokolle gibt es genug.  Anfangs hatte ich mit der Jeelib gespielt,  aber und das war für mich entscheidend;
Ich möchte Geräte bauen die sich in eine bestehende Landschaft integrieren lassen.  Was nützt mi ein schöner Aktor,
wenn es keinen passenden Wandschalter gibt...

Ausserdem glaube ich nicht,  das eq3 daran interessiert ist,  mich zu verklagen.  Das Protokoll ist bekannt und von Anderen
Bereits in den Umlauf gebracht.  Siehe FHEM,  den CUL von busware,  usw...

Eine kurze Suche ergibt:
Verfahren zur sicherung der kommunikation zwischen einem heimautomatisierungsserver und einem zentralen konfigurationsserver
EP 2517137 A1
Fernsteuerbarer schalter WO 2011085840 A1
Verfahren und vorrichtung zur steuerung eines heimautomatisierungssystems EP 2529511 A1
Steuerung eines heimautomatisierungssystems EP 2529510 A1
Method for specifying transmitting times for cyclically sending out data messages, and subscriber device therefor US 20090067390 A1
Übertragungsverfahren DE 102012100331 A1

Interessant ist, das RWE und eQ-3 gemeinsam anmelden.

Homematic ist auch eine Marke!

Joachim

trilu

eq3 entwickelt und verkauft unter unterschiedlichen Markennamen.
FS20, Homematic, RWE, Max, etc...

Kennst du dich mit Patentrecht aus?

jjf

Zitat von: trilu am 03 März 2014, 10:24:20
Kennst du dich mit Patentrecht aus?
Nein!
Joachim

PS
Anmerkung: wenn etwas veröffentlicht worden ist, heisst das nicht,
dass es nicht durch Patentrecht, Gebrauchsmuster oder Markenrecht etc.
geschützt ist.

Zu HS485.pdf:
1. "... von ELV aus ausschließlich an lizenzierte Software-Entwickler."
Meine (vollkommen unmassgebliche) Schlussfolgerung: Für Funk braucht
man eine Lizenz. Weswegen genau ist mir unklar.

2. betrifft RS485: "Wir konzentrieren uns auf die Entwicklung, Fertigung und Erweiterung der System-Hardware..."
-> Sie machen die kleinen Kästchen
"Um die Entwicklung einer eigenen Software ..."
-> Gegen FHEM haben sie nichts einzuwenden.

3. Adressierung 32Bit
Da es für RS485 (meines Wissens) keine Bausteine gibt, die mehr als 256 Knoten
an einem Bus unterstützen, ist das auffallend. Warum schickt man 8 Bytes über den
Bus (4=Ziel 4=Quelle), wenn man mit 2 auskommt? Weil dann jeder Knoten
eine eindeutige Adresse haben kann. Das könnte geschützt sein, sowie das Verfahren
zum Ermitteln der vorhandenen Knoten (discovery). 
Persönliche Schlussfolgerung:
Solange das nicht klar ist, investiere ich keine Arbeitzeit.

Dirk

#139
Zitat von: trilu am 03 März 2014, 07:39:34
funzt!
Super. Dann lass ich das so.

Eine kleine Änderung im Schaltplan/Layout gibt es noch:
Das Enable des Spannungszeilers geht jetzt an D7. Dadurch ist noch ein zusätzlicher ADC-Port frei.
Ich habe die geänderten Schaltpläne und Layouts nochmal angehängt.
Falls es keine weiteren Einwände gibt, würde ich das heute Abend bzw. morgen Vormittag an den Fertiger schicken.

https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Universalsensor-CC1101-Schematic.pdf

Gruß
Dirk

trilu

ZitatFalls es keine weiteren Einwände gibt, würde ich das heute Abend bzw. morgen Vormittag an den Fertiger schicken.

Ist das Absicht oder hast du den Anschluss für meine Kaffeemaschine vergessen?
Sieht prima aus!!!

Bennemannc

Hallo,

ich habe mir zwei Panstamps gekauft. Ich bin absoluter Anfänger in der Materie. Aus dem Git-Hub habe ich mir die Daten der AskSin Lib gezogen. Leider kann ich nicht alle Sketches kompilieren - es kommen immer wieder Fehler. Auch fehlen mir für die Anwendungen Unterlagen was auf welchem Pin liegt. Welcher ist der Pin für das Anlernen und muss der auf Masse oder Plus - mit Vorwiderstand oder ohne.
Ich finde das Klasse, was Ihr da in mühevoller Kleinarbeit über Try-and-Error von den Geräten lernt.
Ich möchte mit den Panstamps eigentlich S0 Impulse Zählen. Da ich ein Battery-Board mit DHT22 habe, soll auch die Temperatur mit übertragen werdnen. Für mich ist das Homematik Protokoll interessant, weil ich dann einen Empfänger weniger brauche.
Gibt es zu diesem Projekt irgendwelche Dokumentation ?

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Dirk

Hallo Christoph,

ZitatAuch fehlen mir für die Anwendungen Unterlagen was auf welchem Pin liegt. Welcher ist der Pin für das Anlernen und muss der auf Masse oder Plus - mit Vorwiderstand oder ohne.
Das kann man am Schaltplan gut erkennen. Die Anschlüsse am Panstamp sind vermutlich aber anders. Du müsstest dir wohl beide Schaltpläne nebeneinander legen und vergleichen.

Gruß
Dirk

Bennemannc

Hallo Dirk,

wen ich das richtig lese, wird für die Config D8 auf Masse gezogen. Bei dem Batteriy Board hängt der DHT22 auf A1 und A2. Auf den CC1101 hat man keinen Einfluß, aber da Die Pins die in der Zeichnung zum CC1101 gehen am Panstamp nicht vorhanden sind. Gehe ich davon aus, das der gleich angeschlossen ist.
Mein Problem ist, dass der Sketch beim kompilieren Fehler zeigt, mit denen ich nichts anfangen kann.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Dirk

Zitatwen ich das richtig lese, wird für die Config D8 auf Masse gezogen.
Das ist in diesem Fall korrekt. Allerdings kannst du die Zuordnung der Pins im Sketch selber festlegen. Das ist somit dir überlassen. Du kannst also Die LED an D4 vom Batteryboard auch als Config-LED konfigurieren.

ZitatAuf den CC1101 hat man keinen Einfluß, aber da Die Pins die in der Zeichnung zum CC1101 gehen am Panstamp nicht vorhanden sind. Gehe ich davon aus, das der gleich angeschlossen ist.
Das sieht so aus. GDO0 geht auch beim Panstamp laut Schaltplan auf D2.

ZitatMein Problem ist, dass der Sketch beim kompilieren Fehler zeigt, mit denen ich nichts anfangen kann.
Was denn für Fehler? Du müsstest die hier schon posten, sonst kann dir vermutlich niemand helfen.

Gruß
Dirk

Bennemannc

Hallo,

er stoppt in diesem Bereich
//- homematic communication -----------------------------------------------------------------------------------------------
HM::s_jumptable jTbl[] = {                                                // jump table for HM communication
   // byte3, byte10, byte11, function to call                                 // 0xff means - any byte
//   { 0x01, 0xff, 0x0e, HM_Status_Request },
   { 0x11, 0x04, 0x00, HM_Reset_Cmd },
//   { 0x01, 0xff, 0x06, HM_Config_Changed },
//   { 0x40, 0xff, 0xff, HM_Remote_Event },
   { 0x00 }
};
Buttons button[1];                                                      // declare remote button object

Sensirion sht10;
BMP085 bmp085;
Sensor_SHT10_BMP085 sensTHP;

mit dieser Meldung:
HM_WDS10_TH_O.ino: In function 'void setup()':
HM_WDS10_TH_O:78: error: 'sensTHP' was not declared in this scope
HM_WDS10_TH_O:79: error: 'sht10' was not declared in this scope
HM_WDS10_TH_O:79: error: 'bmp085' was not declared in this scope

da komm ich als Anfänger einfachn nicht weiter - zumal ich ja keinen Luftdrucksensor habe sondern nur den Temp/Hum DHT22 auf dem Battery Board - und der ist auf A1/A2 angeschlossen (laut Schaltplan)
somit müsste ich weiter unten

sensTHP.regInHM(1,&hm);                                          // register sensor class in hm
sensTHP.config(A4, A5, 0, &sht10, &bmp085, 570);

auf
sensTHP.regInHM(1,&hm);                                          // register sensor class in hm
sensTHP.config(A1, A2, 0, &sht10, NULL, 570);
ändern - reicht das aus ?

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

trilu

Hi,

zuerst musst du mal das Archiv "additional-sensor-libraries.zip" in den Library Ordner entpacken.
Aber nicht ins AskSin Verzeichnis, sondern eins höher.

Dann sollten auch deine Fehler beim Kompilieren der Vergangenheit angehören, egal ob Sensoren angeschlossen, oder nicht.
Wenn Kompilieren geht, dann konfigurierst du deine HW richtig, also

#include <BMP085.h>                                                      // pressure library
auskommentieren durch //

BMP085 bmp085;
ebenfalls auskommentieren

sensTHP.config(A4, A5, 0, &sht10, NULL, 570);                              // data pin, clock pin and timing - 0 means HM calculated timing, every number above will taken in milliseconds

Hier gibst du die richtigen Pins an für deinen SHT10 an, in genanntem Beispiel ist es
A4 Data Leitung des Sensors
A5 CLK Leitung des Sensors

0 gibt die Wiederholung des Sendens in millisekunden an, 0 steht für Berechnung durch die Lib
&sht10 ist die Adresse zur Class die du weiter oben deklariert hast.

Wenn du jetzt einen DHT22 einbinden möchtest, dann musst alles was mit dem SHT10 zu tun hat durch die DHT22 Class ersetzen,
zusätzlich die Sensor Class abändern "Sensor_SHT10_BMP085.cpp"

Da du aber schon Probleme beim Kompilieren hast, würde ich dir empfehlen, einen SHT10 einzusetzen :-))

Viele Grüße
Horst

Tobias

Ich habe mir gerade man das Schematic-PDF angesehen.
Kann mir sagen was beim MAX1724+ das L1 für ein Induktor-Bauteil ist? Vor allem ein Link (zb. Reichelt) wäre hilfreich...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Dirk

Hallo Tobias,

L1 ist eine Speicherdrossel. Laut Datenblatt wird unter anderem eine aus der Murata Serie LQH4C empfohlen die Serie LQH3C sollte für den Einsatz aber genau so passen. Die gäbe es auch eine bei Reichelt. Artikelnummer: "LQH3C 10µ"

Gruß
Dirk

Dirk

Hallo Zusammen,

während der Wartezeit auf die ersten Platinen, laut Sendungsverfolgung sollten die im Laufe dieser Woche hier ankommen, habe ich mich doch entschlossen das Layout etwas universeller zu machen.

Herausgekommen ist das "Universal-Sensor-Board"

Das Layout basiert auf dem bisherigen Schaltplan / Layout. Ist dazu also voll kompatibel.
Folgende Funktionen sind hier vorgesehen:

Sensoren auf dem Board: Feuchte / Temperatur / Luftdruck / Helligkeit
Weitere Sensoren über das Shield erweiterbar (kleine Zusatzplatine): z.B. Bewegung / Gas (z.B. CO2, Luftgüte) usw.
Schnittstellen: CC1101 868Mhz-Modul oder 433Mhz-Modul / RS485 / evtl. 1-Wire (Softwarebassierend über den Atmage32p)
Spannungsversorgung: Batterien, 2 Zellen oder 1 Zelle mit MAX1724 / 7(5)-24 V (extern z.B. über den RS485-Bus).

Im Schaltplan sind die einzelnen Optionen durch gestrichelt Linien gekennzeichnet.
Die unterschiedlichen Funktionen ergeben sich dann durch verschiedene Bestückungsvarianten.

JP1 überbrückt standardmäßig den MAX1724. Falls dieser bestückt werden soll, muss diese Brücke getrennt werden.
Alternativ kann mit einer Brücke die 5 V vom Spannungsregler (MC34036) an das Shield angelegt werden und so 5 V Sensoren versorgen.
Die Pegelwandlung (5 auf 3,3V) muss dann auf dem Shield erfolgen.

Der Atmega32p hat in diesem Layout die Möglichkeit mit 2 verschiedenen Quarz-Bauformen ergänzt zu werden. Q1 könnte z.B. ein 32,768 kHz Quarz sein. Q2 z.B. ein 8 Mhz Quarz um im RS485-Mode ein stabilen UART zu gewährleisten. Als "einfaches" CC1101-Sensor-Modul reicht die Genauigkeit des interne Osszillator des Atmega32p aus, so dass hier kein Quarz bestückt werden muss.

Die Bauteile für die externe Spannungsversorgung werden alternativ auf dem Platz bestückt auf dem sonst der Batteriehalter sitzt, somit komme ich hier mit den selben mechanischen Platinenabmessungen aus. Damit passt auch das in einem früheren Post gezeigte Gehäuse. Bei der externen Spannungsversorgung kommt ein Schaltregler zum Einsatz der intern für den RS485 Tranceiver 5 V zur Verfügung stellt. Danach kommt noch ein kleiner Liniarregler, der 3,3 V für die restlichen aktiven Bauteile zur Verfügung stellt.
Die 7(5)-24 V könnte auch zur Versorgung "Energiehungriger" Sensoren wie Gas, VOC usw. dienen. Damit könnte man die Schaltung auch über ein kleines Steckernetzteil versorgen.

Anbei der Schaltplan und auch das Layout.

Macht so ein Universalboard aus eurer Sicht Sinn oder soll ich bei dem ursprünglichen Layout bleiben?

Viele Grüße
Dirk