Entwicklung einer 1wire-zu-WLAN-Bridge

Begonnen von hexenmeister, 18 Dezember 2015, 01:03:45

Vorheriges Thema - Nächstes Thema

habeIchVergessen

Zitat von: HotteFred am 08 März 2017, 13:14:46
D.h.: Im Quellcode das // von dieser Zeile Entfernen? #define _DEBUG

an den Debug-Einstellung brauchst du nichts zu ändern (_DEBUG_DEVICE_DS2438).

interessant ist die Ausgabe

bus #1: request batteries  (751.88 ms)
26.e42171010000.2dHelperBatteryDevice::readScratch: page 1, data: 0000-00-00-crc 0 0HelperBatteryDevice::readScratch: page 0, data: 0f00-00-00-crc 9a 0

da sollten die Daten gelesen werden. Leider alles leer (Nullen). und zu wenig Bytes (data:). hier sollten 8 Nibbles stehen. Habe den Code geändert.

HotteFred

Jetzt siehts so aus:


bus #1: request batteries  (751.84 ms)
26.e42171010000.2dHelperBatteryDevice::readScratch: page 1, data: 00-00-00-00-00-08-00-fccrc f2 f2HelperBatteryDevice::readScratch: page 0, data: 0f-00-00-00-00-00-00-00crc fa fa voltage 0.00 current 0.00 capacity 0.00 (27.81 ms)
bus #1: alarm search  (16.04 ms)


BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

Besser. Wird eine Temperatur ausgelesen? Eine Batterie scheint ja nicht angeschlossen zu sein.

HotteFred

Am 18B20 schon. Das passt.

Am DS2438 nicht.
Ich muss ausserdem sagen, das ich den DS2438 nicht zur Batteriemessung, sondern zur Feuchtemessung verwende mit einen HIH-4000 oder HIH-4030, der an Pin4 geschlossen ist.
Z.b.: Wie hier: http://www.loxwiki.eu/pages/viewpage.action?pageId=917723

Aber wie gesagt, der DS2438 schmeisst keine Werte...

Danke für deine Hilfe.

VG
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

habe mal die Berechnung umgestellt (explizit am Device). Kannst du bitte testen und berichten.

HotteFred

Zitat von: habeIchVergessen am 08 März 2017, 18:31:39
Kannst du bitte testen und berichten.

Gerne:

bus #1: alarm search  (16.05 ms)
26.e42171010000.2dHelperBatteryDevice::readScratch: page 1, data: 00-00-00-00-00-08-00-fccrc f2 f2HelperBatteryDevice::readScratch: page 0, data: 0f-00-00-00-00-00-00-00crc fa fa voltage 0.00 current 0.00 capacity 0.00 (784.29 ms)HelperBatteryDevice::readScratch: page 0, data: 0f-00-00-00-00-00-00-00crc fa fa temperature 0.00 (769.84 ms)
bus #1: alarm search  (16.01 ms)


VG
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

schon wieder ein Code-Update. Bis du so nett und testest nochmals.

HotteFred

Zitat von: habeIchVergessen am 08 März 2017, 21:29:43
Bis du so nett und testest nochmals.

Aber gerne doch... Und sieht gut aus, da kommen Werte. Zumindest Temperatur scheint zu passen...


bus #1: request temperatures  (751.84 ms)
HelperBatteryDevice::readScratch: page 0, data: 0f-88-1b-c5-01-00-fc-00crc 94 94OK VALUES Esp1wire 26.e42171010000.2d 1=27.53,30=DS2438, (21.75 ms)
OK VALUES Esp1wire 28.c60ce1040000.4a 1=23.38,30=DS18B20, (13.25 ms)
26.e42171010000.2dHelperBatteryDevice::readScratch: page 1, data: df-00-00-00-00-08-00-fccrc 87 87HelperBatteryDevice::readScratch: page 0, data: 0f-88-1b-c5-01-00-fc-00crc 94 94 voltage 4.53 current -10.00 capacity 0.00 (798.73 ms)HelperBatteryDevice::readScratch: page 0, data: 0f-18-1c-c5-01-00-fc-00crc 7d 7d temperature 28.09 (777.59 ms)
bus #1: alarm search  (16.02 ms)
bus #1: alarm search  (16.05 ms)
bus #1: alarm search  (16.05 ms)
bus #1: alarm search  (16.05 ms)
bus #1: alarm search  (16.05 ms)
bus #1: alarm search  (16.03 ms)


VG
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

voltage 4.53 ist auch gut!

habe wieder auf die Berechnung alle Batterie-Monitor umgestellt und hochgeladen.

Kannst du bitte testen und die Ausgabe von:
bus #1: request batteries  (754.84 ms)
...

und

bus #1: request temperatures  (754.81 ms)
...

posten? für die Punkte die ausgegebenen Devices

die Feutigkeit sollte dann so aussehen

(((voltage/5V)-0,16)/0,0062)/(1,0546-(0,00216*temperature))

HotteFred

Zitat von: habeIchVergessen am 08 März 2017, 21:52:59

Kannst du bitte testen und die Ausgabe von:
bus #1: request batteries  (754.84 ms)
...

und

bus #1: request temperatures  (754.81 ms)
...

posten? für die Punkte die ausgegebenen Devices


Gerne, hier die Ausgabe:

bus #1: request batteries  (4.72 ms)
26.e42171010000.2d voltage 4.52 current -10.00 capacity 0.00 (41.17 ms)
bus #1: alarm search  (16.00 ms)
bus #1: alarm search  (16.02 ms)
bus #1: alarm search  (16.01 ms)
bus #1: alarm search  (16.02 ms)
bus #1: alarm search  (16.01 ms)
bus #1: alarm search  (16.02 ms)

bus #1: request temperatures  (590.56 ms)
OK VALUES Esp1wire 26.e42171010000.2d 1=23.59,30=DS2438, (21.26 ms)
OK VALUES Esp1wire 28.c60ce1040000.4a 1=23.81,30=DS18B20, (13.54 ms)


VG
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

jetzt sehen die Zeiten für die Rechnung auch so aus, wie erwartet. Sehr schön.

Die Formel für die Luftfeuchtigkeit kann nicht stimmen. da kommt ca. 120 raus

habeIchVergessen

was geht:

  • i2c & gpio (getestet mit GPIO12; GPIO0 hat nicht funktioniert, wenn busmaster vorhanden)
  • parasitärer Modus

    • gpio kurz getestet
    • i2c nur implementiert (scheinbar geht parasitär nur, wenn APU per configure abgeschaltet wird; sonst werden keine Devices im parasitären Modus erkannt)
  • Temperatur-Sensoren (z.B. DS18S20)
    • lesen
    • Alarm konfigurieren
  • Switch-Sensoren (DS2406)
    • Status lesen
    • Alarm konfigurieren & zurücksetzen
  • Counter-Sensoren (DS2423)
    • Status lesen (locutus Geräte benötigt eine separate Stromversorgung; Ports sind 3&4)
  • Battery-Monitor-Sensoren (DS2438)
    • Berechnung Temperatur und Batterie-Status
    • Auslesen Temperatur und Batterie-Status
  • Alarm Search inkl. Family Code Filter

offen

  • DS2406
    • direktes Lesen und Schreiben (benötige ich aktuell nicht)

Source-Code auf github

HotteFred

Zitat von: habeIchVergessen am 08 März 2017, 22:13:21
jetzt sehen die Zeiten für die Rechnung auch so aus, wie erwartet. Sehr schön.

Die Formel für die Luftfeuchtigkeit kann nicht stimmen. da kommt ca. 120 raus

Stimmt, und hängt wohl vom eingesetzten Feuchtesensor und Widerstand ab.
Steht zumindest hier: https://wiki.fhem.de/wiki/1-Wire_Feuchtemessung

Da steht allerdings auch, das der DS2438 seine eigene Versorgungsspannung ausspucken müsste.

Kannst du dir das bitte noch mal anschauen?

Danke und Grüße
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

#508
vor der Berechnung muss ein Flag gesetzt werden, mit dem der Eingang ausgewählt wird. Bis dato wird default (VDD) verwendet. Da die Berechnung wenig Zeit kostet, sollte das kein Problem sein.

Nachtrag: angepasster Code hochgeladen

habeIchVergessen

@HotteFred: kannst du den letzten Stand testen?