Hallo,
trotzdem sich meine 1-Wire Verkabelung offensichtlich im Rahmen der "Spielregeln" bewegt, habe ich immer 1-3 Sensoren, welche keine Temperaturwerte liefern. Nach jedem Neustart des EibPC sind dies aber stets andere 1-3 Sensoren.
Die Eckdaten sind wie folgt:
- Nutzung der ws/ge Adern der EIB Leitung
- Gesamtlänge der zwei Leitungsstränge ca. 110m
- 13x DS18S20 Sensoren
- an den Sensoren wurden kurze Drähte angelötet und durch Wago Klemmen mit der EIB Leitung verbunden
- Sensoranschluß 1&3 an ws (GND) und 2 an ge (Data), also parasitärer Betrieb
Der Code lautet wie folgt:
[highlight=epc]
[Macros]
HA7E()
Temperature(EG_Diele,$3F000002C61EA428$,5)
Temperature(EG_Buero,$D2000002C6100A28$,5)
Temperature(EG_GaesteWC,$C1000002C5C37428$,5)
Temperature(EG_Kueche,$81000002C6090E28$,5)
Temperature(EG_Esszimmer,$5F000002C64B3D28$,5)
Temperature(EG_Wohnzimmer,$49000002C6251328$,5)
Temperature(OG_Diele,$94000002C607AB28$,5)
Temperature(OG_Kinderzimmer_R,$D9000002C5D23028$,5 )
Temperature(OG_Kinderzimmer_L,$30000002C5C2AF28$,5 )
Temperature(OG_Buero,$1A000002C64BCC28$,5)
Temperature(OG_Badezimmer,$30000002C5EF1128$,5)
Temperature(OG_Schlafzimmer,$F3000002C62EBA28$,5)
Temperature(OG_Ankleide,$FE000002B734BF28$,5)
[WebServer]
page(2)[$Temperaturverläufe$]
header(0)
footer(0)
mpchart(1) [SINGLE,SXY]($EG Diele$,LINE) none mpchart(2) [SINGLE,SXY]($EG Gäste WC$,LINE) none mpchart(3) [SINGLE,SXY]($EG Büro$,LINE)
mpchart(4) [SINGLE,SXY]($EG Küche$,LINE) none mpchart(5) [SINGLE,SXY]($EG Eßzimmer$,LINE) none mpchart(6) [SINGLE,SXY]($EG Wohnzimmer$,LINE)
line
mpchart(7) [SINGLE,SXY]($OG Diele$,LINE) none mpchart(8) [SINGLE,SXY]($OG Kinderz. L$,LINE) none mpchart(9) [SINGLE,SXY]($OG Kinderz. R$,LINE)
mpchart(10) [SINGLE,SXY]($OG Badezimmer$,LINE) none mpchart(11) [SINGLE,SXY]($OG Büro$,LINE) none mpchart(12) [SINGLE,SXY]($OG Schlafzimmer$,LINE)
mpchart(13) [SINGLE,SXY]($OG Ankleide$,LINE)
[EibPC]
WebZeit=convert(convert(hour(),0f32) + convert(minute(),0f32)/60f32,0f16)
if cycle(15,0) then \\
mpchart(1,WebZeit,convert(EG_Diele_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(2,WebZeit,convert(EG_GaesteWC_Temperature, 0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(3,WebZeit,convert(EG_Buero_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(4,WebZeit,convert(EG_Kueche_Temperature,0f 16),0,2) \\
endif
if cycle(5,0) then \\
mpchart(5,WebZeit,convert(EG_Esszimmer_Temperature ,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(6,WebZeit,convert(EG_Wohnzimmer_Temperatur e,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(7,WebZeit,convert(OG_Diele_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(8,WebZeit,convert(OG_Kinderzimmer_L_Temper ature,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(9,WebZeit,convert(OG_Kinderzimmer_R_Temper ature,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(10,WebZeit,convert(OG_Badezimmer_Temperatu re,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(11,WebZeit,convert(OG_Buero_Temperature,0f 16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(12,WebZeit,convert(OG_Schlafzimmer_Tempera ture,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(13,WebZeit,convert(OG_Ankleide_Temperature ,0f16),0,2) \\
endif
[/highlight]
Im Anhang ist eine Skizze der Verkabelung und zwei beispielhafte Temperaturverläufe (fehlerhafte Sensoren = rot markiert).
Was kann ich hier noch optimieren?
Viele Grüße
Michael


trotzdem sich meine 1-Wire Verkabelung offensichtlich im Rahmen der "Spielregeln" bewegt, habe ich immer 1-3 Sensoren, welche keine Temperaturwerte liefern. Nach jedem Neustart des EibPC sind dies aber stets andere 1-3 Sensoren.
Die Eckdaten sind wie folgt:
- Nutzung der ws/ge Adern der EIB Leitung
- Gesamtlänge der zwei Leitungsstränge ca. 110m
- 13x DS18S20 Sensoren
- an den Sensoren wurden kurze Drähte angelötet und durch Wago Klemmen mit der EIB Leitung verbunden
- Sensoranschluß 1&3 an ws (GND) und 2 an ge (Data), also parasitärer Betrieb
Der Code lautet wie folgt:
[highlight=epc]
[Macros]
HA7E()
Temperature(EG_Diele,$3F000002C61EA428$,5)
Temperature(EG_Buero,$D2000002C6100A28$,5)
Temperature(EG_GaesteWC,$C1000002C5C37428$,5)
Temperature(EG_Kueche,$81000002C6090E28$,5)
Temperature(EG_Esszimmer,$5F000002C64B3D28$,5)
Temperature(EG_Wohnzimmer,$49000002C6251328$,5)
Temperature(OG_Diele,$94000002C607AB28$,5)
Temperature(OG_Kinderzimmer_R,$D9000002C5D23028$,5 )
Temperature(OG_Kinderzimmer_L,$30000002C5C2AF28$,5 )
Temperature(OG_Buero,$1A000002C64BCC28$,5)
Temperature(OG_Badezimmer,$30000002C5EF1128$,5)
Temperature(OG_Schlafzimmer,$F3000002C62EBA28$,5)
Temperature(OG_Ankleide,$FE000002B734BF28$,5)
[WebServer]
page(2)[$Temperaturverläufe$]
header(0)
footer(0)
mpchart(1) [SINGLE,SXY]($EG Diele$,LINE) none mpchart(2) [SINGLE,SXY]($EG Gäste WC$,LINE) none mpchart(3) [SINGLE,SXY]($EG Büro$,LINE)
mpchart(4) [SINGLE,SXY]($EG Küche$,LINE) none mpchart(5) [SINGLE,SXY]($EG Eßzimmer$,LINE) none mpchart(6) [SINGLE,SXY]($EG Wohnzimmer$,LINE)
line
mpchart(7) [SINGLE,SXY]($OG Diele$,LINE) none mpchart(8) [SINGLE,SXY]($OG Kinderz. L$,LINE) none mpchart(9) [SINGLE,SXY]($OG Kinderz. R$,LINE)
mpchart(10) [SINGLE,SXY]($OG Badezimmer$,LINE) none mpchart(11) [SINGLE,SXY]($OG Büro$,LINE) none mpchart(12) [SINGLE,SXY]($OG Schlafzimmer$,LINE)
mpchart(13) [SINGLE,SXY]($OG Ankleide$,LINE)
[EibPC]
WebZeit=convert(convert(hour(),0f32) + convert(minute(),0f32)/60f32,0f16)
if cycle(15,0) then \\
mpchart(1,WebZeit,convert(EG_Diele_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(2,WebZeit,convert(EG_GaesteWC_Temperature, 0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(3,WebZeit,convert(EG_Buero_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(4,WebZeit,convert(EG_Kueche_Temperature,0f 16),0,2) \\
endif
if cycle(5,0) then \\
mpchart(5,WebZeit,convert(EG_Esszimmer_Temperature ,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(6,WebZeit,convert(EG_Wohnzimmer_Temperatur e,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(7,WebZeit,convert(OG_Diele_Temperature,0f1 6),0,2) \\
endif
if cycle(15,0) then \\
mpchart(8,WebZeit,convert(OG_Kinderzimmer_L_Temper ature,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(9,WebZeit,convert(OG_Kinderzimmer_R_Temper ature,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(10,WebZeit,convert(OG_Badezimmer_Temperatu re,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(11,WebZeit,convert(OG_Buero_Temperature,0f 16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(12,WebZeit,convert(OG_Schlafzimmer_Tempera ture,0f16),0,2) \\
endif
if cycle(15,0) then \\
mpchart(13,WebZeit,convert(OG_Ankleide_Temperature ,0f16),0,2) \\
endif
[/highlight]
Im Anhang ist eine Skizze der Verkabelung und zwei beispielhafte Temperaturverläufe (fehlerhafte Sensoren = rot markiert).
Was kann ich hier noch optimieren?
Viele Grüße
Michael
Kommentar