[gelöst] RPI_1wire und DS2408

Begonnen von dan1180, 19 November 2023, 11:06:05

Vorheriges Thema - Nächstes Thema

dan1180

Mit dem neuen Modul konnte ich im LOG den Moment finden, an dem fhem selbstständig meine pio4 und pio5 ausschaltet.
Zur Erklärung: Mit pio6 und pio7 steuere ich den Mischer meiner Fußbodenheizung. Daher die häufigen "on-for-timer".

2023.12.08 15:06:15 3: relais set pio 6 on-for-timer 1

2023.12.08 15:06:15 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:06:15 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (1)
2023.12.08 15:06:17 3: relais set pio 6 off -

2023.12.08 15:06:17 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:06:17 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:08:16 3: relais set pio 6 on-for-timer 3

2023.12.08 15:08:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:08:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (3)
2023.12.08 15:08:19 3: relais set pio 6 off -

2023.12.08 15:08:19 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:08:19 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:09:16 3: relais set pio 6 on-for-timer 3

2023.12.08 15:09:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:09:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (3)
2023.12.08 15:09:19 3: relais set pio 6 off -

2023.12.08 15:09:19 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:09:19 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:10:16 3: relais set pio 6 on-for-timer 3

2023.12.08 15:10:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:10:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (3)
2023.12.08 15:10:19 3: relais set pio 6 off -

2023.12.08 15:10:19 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:10:19 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:11:16 3: relais set pio 6 on-for-timer 3

2023.12.08 15:11:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:11:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (3)
2023.12.08 15:11:19 3: relais set pio 6 off -

2023.12.08 15:11:19 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:11:19 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:13:16 3: relais set pio 6 on-for-timer 1

2023.12.08 15:13:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:13:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (1)
2023.12.08 15:13:17 3: relais set pio 6 off -

2023.12.08 15:13:17 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:13:17 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:15:16 3: relais set pio 6 on-for-timer 1

2023.12.08 15:15:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:15:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (1)
2023.12.08 15:15:17 3: relais set pio 6 off -

2023.12.08 15:15:17 3: relais PIO state before set: 00001110/00001110
2023.12.08 15:15:17 3: relais: Switching 29-0000001acee4 to 11001111 (pio6 off) for (-)
2023.12.08 15:17:16 3: relais set pio 6 on-for-timer 1

2023.12.08 15:17:16 3: relais PIO state before set: 00001100/00001100
2023.12.08 15:17:16 3: relais: Switching 29-0000001acee4 to 10001111 (pio6 on-for-timer) for (1)
2023.12.08 15:17:17 3: relais set pio 6 off -

2023.12.08 15:17:17 3: relais PIO state before set: 00000000/00000000
2023.12.08 15:17:17 3: relais: Switching 29-0000001acee4 to 11111111 (pio6 off) for (-)

In der vorletzten Zeile steht 2023.12.08 15:17:17 3: relais PIO state before set: 00000000/00000000Ab dem Moment sind meine Pumpen (Fußboden- und Heizkörperkreis) dann aus.
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Adimarantis

Möglicherweise legen die Temperatursensoren weniger Spannung auf die Datenleitung als der Switch - und der hat dann deine GPIO gebraten.

Der SVG builder wird wohl durch die Zeile verwirrt die alle pios listet (welche vom Setzen von "state" kommen dürfte).
Ich kenne mich jetzt mit Filelog SVGs nicht so aus - bei mir läuft alles über Dblog.
Vielleicht solltest du sowas wie
event-on-change-reading = pio.* (oder event-on-update-reading damit dein Graph keine schrägen Linien macht) setzen, dann sollte es eigentlich nicht mehr ins log gehen - nur um sicher zu gehen.

Interessant ist das "activity" - das sollte (wenn ich datasheet und kernel code richtig verstehe) den echten Zustand der Schalter zeigen (der auch als input verwendet werden kann) - seltsam das dies von output/state abweicht

Was mich etwas verwundert ist, dass du für 1 Sekunde schaltest. Reagiert deine Fussbodenheizung so schnell?
Ich kenne nur so Stellventile die dann schon mal eine Weile beschäftigt sind, bis die umgeschaltet haben.
Hast du das vorher auch schon so schnell geschaltet? Wäre interessant ob das Problem bei längeren Zeiträumen weiter besteht.

Nach Lesefehler schauts eigentlich nicht aus, da die Werte vorher/nachher gleich sind - aber vielleicht wurde gar kein neuer Wert gelesen, weil der Abstand so kurz war.








Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

dan1180

#32
Das Problem mit dem SVG habe ich aber nur bei pio0. Die anderen funktionieren. Und nur bei pio0 habe ich das zweite Regexp. Hängt das nicht zusammen? Hat das nichts mit dem Modul und den erzeugten Readings zu tun?

Die kurze Schaltzeit ist dazu da, den Mischer fein zu regeln. Der Befehl wird mittels "cmdpause" für 120 Sek. pausiert, bevor er bei Eintreten der Bedingung wieder ausgeführt wird. Diese Schaltzeiten hatte ich auch schon bei OWX. Hier mein ganzer Code, falls interessiert.
##cmd1: schnell öffnen
([relais:pio4] == 1 && [tmpfvl:temperature] < 37)(set relais pio6 on-for-timer 5)

DOELSEIF    ##cmd2: langsam öffnen
([relais:pio4] == 1 && [tmpfvl:temperature] < 40)(set relais pio6 on-for-timer 3)

DOELSEIF    ##cmd3: noch etwas öffnen
([relais:pio4] == 1 && [tmpfvl:temperature] < 43)(set relais pio6 on-for-timer 1)

DOELSEIF    ##cmd4: Notaus
([tmpfvl:temperature] > 60)(set relais pio4 off-for-timer 60)

DOELSEIF    ##cmd5: schnell schließen
([relais:pio4] == 1 && [tmpfvl:temperature] > 53)(set relais pio7 on-for-timer 5)

DOELSEIF    ##cmd6: langsam schließen
([relais:pio4] == 1 && [tmpfvl:temperature] > 50)(set relais pio7 on-for-timer 3)

DOELSEIF    ##cmd7: noch etwas schließen
([relais:pio4] == 1 && [tmpfvl:temperature] > 47)(set relais pio7 on-for-timer 1)

DOELSEIF    ##cmd8: Calibrieren fuer Tagprogramm
([04:00] && [relais:pio4] == 0)(set relais pio7 on-for-timer 100)(set relais pio6 on-for-timer 32)

Und die zugehörigen Attribute
Attributes:
   cmdpause   30:60:120:30:0:160:120:0
   do         always
   room       Heizung
   wait       0:0:0:0:0:0:0:0,105

Eben habe ich manuell pio5 deaktiviert. Eigentlich hätte das per DOIF passieren sollen. Das DOIF hat den Status auch gewechselt, angekommen ist aber leider nichts. Wie dem auch sei: Nach "set relais pio5 off" wurde laut state auch pio4 ausgeschaltet. Wenige Minuten später war dann pio4 wieder an als wäre nichts gewesen. Das LOG zeigt davon nichts.
2023-12-08_19:49:42 Logfile clear
2023.12.08 19:50:02 3: relais set pio 5 off -

2023.12.08 19:50:02 3: relais PIO state before set: 00001100/00001100
2023.12.08 19:50:02 3: relais: Switching 29-0000001acee4 to 11101111 (pio5 off) for (-)
2023.12.08 19:52:19 3: relais set pio 7 on-for-timer 1

2023.12.08 19:52:20 3: relais PIO state before set: 00001000/00001000
2023.12.08 19:52:20 3: relais: Switching 29-0000001acee4 to  1101111 (pio7 on-for-timer) for (1)
2023.12.08 19:52:21 3: relais set pio 7 off -

2023.12.08 19:52:21 3: relais PIO state before set: 00001001/00001001
2023.12.08 19:52:21 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.08 19:55:19 3: relais set pio 7 on-for-timer 3

2023.12.08 19:55:20 3: relais PIO state before set: 00001000/00001000
2023.12.08 19:55:20 3: relais: Switching 29-0000001acee4 to  1101111 (pio7 on-for-timer) for (3)
2023.12.08 19:55:23 3: relais set pio 7 off -

2023.12.08 19:55:23 3: relais PIO state before set: 00001001/00001001
2023.12.08 19:55:23 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.08 19:58:19 3: relais set pio 7 on-for-timer 1

2023.12.08 19:58:20 3: relais PIO state before set: 00001000/00001000
2023.12.08 19:58:20 3: relais: Switching 29-0000001acee4 to  1101111 (pio7 on-for-timer) for (1)
2023.12.08 19:58:21 3: relais set pio 7 off -

2023.12.08 19:58:21 3: relais PIO state before set: 00001001/00001001
2023.12.08 19:58:21 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.08 20:01:19 3: relais set pio 7 on-for-timer 3

2023.12.08 20:01:20 3: relais PIO state before set: 00001000/00001000
2023.12.08 20:01:20 3: relais: Switching 29-0000001acee4 to  1101111 (pio7 on-for-timer) for (3)
2023.12.08 20:01:23 3: relais set pio 7 off -

2023.12.08 20:01:23 3: relais PIO state before set: 00001001/00001001
2023.12.08 20:01:23 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.08 20:04:19 3: relais set pio 7 on-for-timer 3

2023.12.08 20:04:20 3: relais PIO state before set: 00001000/00001000
2023.12.08 20:04:20 3: relais: Switching 29-0000001acee4 to  1101111 (pio7 on-for-timer) for (3)
2023.12.08 20:04:23 3: relais set pio 7 off -

2023.12.08 20:04:23 3: relais PIO state before set: 00001001/00001001
2023.12.08 20:04:23 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)

Macht es Sinn, wenn ich das Relais auf verbose 4 oder sogar 5 logge?
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Adimarantis

Also verstehe ich das richtig - du siehst in FHEM die pio4 aus und angehen - aber eben im Logfile nicht?
Dann solltest du schon mal auf verbose 5 gehen, dann müsste das zumindest protokolliert werden.

Eine ganz andere Idee:
Wir lesen den Zustand aus "output", aber das ist ja eigentlich zum schreiben gedacht - der Zustand steht ja eigentlich in "state" (und so ist das auch bei den anderen 1Wire Switches implementiert). Vielleicht führt der Lesezugriff auf output manchmal zu Nebeneffekten? Unwahrscheinlich, aber mir fällt langsam nix mehr ein.

Probier dafür jetzt mal die angehängte Datei.
Damit sollte übrigens hoffentlich auch dein SVG Problem verschwinden.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

dan1180

ZitatAlso verstehe ich das richtig - du siehst in FHEM die pio4 aus und angehen - aber eben im Logfile nicht?
Ja genau. Ich habe jetzt Verbose 5 für das Relais eingestellt.

ZitatProbier dafür jetzt mal die angehängte Datei.
Modul ist ausgetauscht und läuft aktuell gut. Ich werde weiter berichten.

ZitatDamit sollte übrigens hoffentlich auch dein SVG Problem verschwinden.
Sieht erst mal gut aus.

Ich glaube tatsächlich, dass der DS2408 auf dem Datenkanal Spannungsspitzen abgibt. Ich habe mir auf meinem neuen Pi4B :'(  wohl mittlerweile 5 GPIOs zerschossen :'( . Ich habe nun mal, wie bei parasitärem Anschluss von Sensoren, einen 4,7kO-Widerstand eingebaut. Ich hab keine Ahnung, ob das was bringt aber ich bin langsam auch am Ende meiner Ideen...
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Adimarantis

Ich hätte da noch ein Dokument gefunden, welches Anschlussbeispiele (auch mit 5V) für 1Wire Sensoren enthält.
Leider weiss ich nicht mehr woher es stammt - im Dokument ist kein verwertbare Hinweis auf den Autor oder die Quelle.

Vielleicht ist das ja hilfreich.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)


Adimarantis

Danke! Hatte mit der SuFu und Google nach dem Filenamen gesucht, aber nix gefunden.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

dan1180

#38
Danke für die Anschlussdarstellung. Sollte mein GPIO wieder brauchen, werde ich nach dieser Anleitung mal komplett Umkabeln. Ich habe gestern auch noch in der /boot/config.txt den Zusatz "pullup=on" hinzugefügt. Ich hoffe hier schlagen jetzt nicht alle die Hände über dem Kopf zusammen... O:-)
Was bewirkt dieser Zusatz eigentlich. Ich habe nur in verschiedenen Anleitungen gesehen, dass dieser Zusatz nur bei parasitärem Anschluss erforderlich ist. Aber warum?

Eben hat pio4 wieder ohne Grund abgeschalten. Im LOG kann man nur sehen, dass der Kanal an war und dann aus. Aber kein set...off.
2023.12.09 21:39:58 5: relais: Read �
2023.12.09 21:39:58 5: relais: Switch state:1,1,1,1,0,1,1,1
2023.12.09 21:39:58 4: relais: Poll for 8p-switch took 0.016848 s
2023.12.09 21:39:58 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=1 pio5=0 pio6=0 pio7=0 duration=0.016848
2023.12.09 21:39:58 3: relais set pio 7 on-for-timer 3
2023.12.09 21:39:58 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:39:58 5: relais: Read �
2023.12.09 21:39:58 5: relais: Switch state:1,1,1,1,0,1,1,1
2023.12.09 21:39:58 4: relais: Poll for 8p-switch took 0.016954 s
2023.12.09 21:39:58 3: relais PIO state before set: 00001000/00001000
2023.12.09 21:39:58 3: relais: Switching 29-0000001acee4 to 01101111 (pio7 on-for-timer) for (3)
2023.12.09 21:39:58 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:39:58 5: relais: Read o
2023.12.09 21:39:58 5: relais: Switch state:1,1,1,1,0,1,1,0
2023.12.09 21:39:58 4: relais: Poll for 8p-switch took 0.016838 s
2023.12.09 21:39:58 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=1 pio5=0 pio6=0 pio7=1 duration=0.016838
2023.12.09 21:39:58 4: relais: Setting time for switching 29-0000001acee4 pio7 to off in 3 s
2023.12.09 21:39:59 3: relais set pio 7 off -
2023.12.09 21:39:59 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:00 5: relais: Read o
2023.12.09 21:40:00 5: relais: Switch state:1,1,1,1,0,1,1,0
2023.12.09 21:40:00 4: relais: Poll for 8p-switch took 0.02144 s
2023.12.09 21:40:00 3: relais PIO state before set: 00001001/00001001
2023.12.09 21:40:00 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.09 21:40:00 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:00 5: relais: Read �
2023.12.09 21:40:00 5: relais: Switch state:1,1,1,1,0,1,1,1
2023.12.09 21:40:00 4: relais: Poll for 8p-switch took 0.017273 s
2023.12.09 21:40:00 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=1 pio5=0 pio6=0 pio7=0 duration=0.017273
2023.12.09 21:40:00 3: relais set pio 7 on-for-timer 3
2023.12.09 21:40:00 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:00 5: relais: Read �
2023.12.09 21:40:00 5: relais: Switch state:1,1,1,1,0,1,1,1
2023.12.09 21:40:00 4: relais: Poll for 8p-switch took 0.018468 s
2023.12.09 21:40:00 3: relais PIO state before set: 00001000/00001000
2023.12.09 21:40:00 3: relais: Switching 29-0000001acee4 to 01101111 (pio7 on-for-timer) for (3)
2023.12.09 21:40:00 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:00 5: relais: Read o
2023.12.09 21:40:00 5: relais: Switch state:1,1,1,1,0,1,1,0
2023.12.09 21:40:00 4: relais: Poll for 8p-switch took 0.017142 s
2023.12.09 21:40:00 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=1 pio5=0 pio6=0 pio7=1 duration=0.017142
2023.12.09 21:40:00 4: relais: Setting time for switching 29-0000001acee4 pio7 to off in 3 s
2023.12.09 21:40:01 3: relais set pio 7 off -
2023.12.09 21:40:01 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:01 5: relais: Read o
2023.12.09 21:40:01 5: relais: Switch state:1,1,1,1,0,1,1,0
2023.12.09 21:40:01 4: relais: Poll for 8p-switch took 0.018221 s
2023.12.09 21:40:01 3: relais PIO state before set: 00001001/00001001
2023.12.09 21:40:01 3: relais: Switching 29-0000001acee4 to 11101111 (pio7 off) for (-)
2023.12.09 21:40:01 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:01 5: relais: Read �
2023.12.09 21:40:01 5: relais: Switch state:1,1,1,1,1,1,1,1
2023.12.09 21:40:01 4: relais: Poll for 8p-switch took 0.022439 s
2023.12.09 21:40:01 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=0 pio5=0 pio6=0 pio7=0 duration=0.022439
2023.12.09 21:40:03 3: relais set pio 7 off -
2023.12.09 21:40:03 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:03 5: relais: Read �
2023.12.09 21:40:03 5: relais: Switch state:1,1,1,1,0,1,1,1
2023.12.09 21:40:03 4: relais: Poll for 8p-switch took 0.019917 s
2023.12.09 21:40:03 3: relais PIO state before set: 00000000/00000000
2023.12.09 21:40:03 3: relais: Switching 29-0000001acee4 to 11111111 (pio7 off) for (-)
2023.12.09 21:40:03 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:03 5: relais: Read �
2023.12.09 21:40:03 5: relais: Switch state:1,1,1,1,1,1,1,1
2023.12.09 21:40:03 4: relais: Poll for 8p-switch took 0.016858 s
2023.12.09 21:40:03 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=0 pio5=0 pio6=0 pio7=0 duration=0.016858
2023.12.09 21:40:22 4: relais: DeviceUpdate(relais), pollingInterval:60
2023.12.09 21:40:22 5: relais: BlockingCall for relais
2023.12.09 21:40:22 5: relais: Open /sys/bus/w1/devices/29-0000001acee4/state
2023.12.09 21:40:22 5: relais: Read �
2023.12.09 21:40:22 5: relais: Switch state:1,1,1,1,1,1,1,1
2023.12.09 21:40:22 4: relais: Poll for 8p-switch took 0.025876 s
2023.12.09 21:40:22 5: relais: Finish: relais pio0=0 pio1=0 pio2=0 pio3=0 pio4=0 pio5=0 pio6=0 pio7=0 duration=0.025876

Habe auch nochmal einen Fehler gefunden. "State" wird nicht mehr aktualisiert. Das heißt, es werden keine aktiven Kanäle angezeigt (siehe Screenshot).
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Adimarantis

Was mich jetzt in deinem Logfile ein wenig verwundert ist folgender Ablauf:
2023.12.09 21:40:00 3: relais set pio 7 on-for-timer 3
2023.12.09 21:40:01 3: relais set pio 7 off -
2023.12.09 21:40:03 3: relais set pio 7 off -
Pio 7 wird eigentlich für 3s eingeschaltet - aber nach 1s wieder aus - und nach 3s nochmal.
Das erste Auschalten ist doch falsch, oder? Ich kann das bei mir aber nicht nachvollziehen - bei mir schaltet er nur nach 3s - schaltest du da irgendwo nochmal extra? Und genau bei diesem Schaltvorgang passiert es, dass Pio 4 plötzlich aus ist.
Sollte zwar keinen Einfluss auf Pio 4 haben, aber trotzdem seltsam.
Es gibt definitiv keine Stelle im Modul, die "heimlich" (also ohne Logeintrag) auf "output" zugreift. Die Änderung an Pio4 scheint HW-seitig zu erfolgen.
Der einzige Workaround der mir noch einfallen würde, wäre, dass das Modul einen Modus bekommt, in dem der HW-Status einfach ignoriert wird und immer entsprechend der Readings setzt. Das "state" file würde dann nur einmal zum Initialisieren gelesen werden, und danach nie wieder.
Wär aber schon ein arger Hack und würde immer noch nicht verhindern, dass eine Pio "von selbst" schaltet - aber den Zustand beim nächsten Schaltvorgang wieder korrigieren.

Dass "state" nicht mehr geupdated wird, ist der "fix" für SVG. Das reading wird nicht mehr benötigt und kann mit "deletereading" gelöscht werden. Das interne reading "STATE" wird dagegen weiter aktualisiert und ändert auch die Kopfzeile im Device.



Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

dan1180

#40
Nein, das "off" nach einer Sekunde macht überhaupt keinen Sinn. Mein DOIF zur Regelung hatte ich ja geteilt. Da finde ich erst mal keinen Fehler. Ich habe sonst nur noch ein DOIF für pio4 (Fussbodenpumpe) und eins für pio5 (Heizkörperpumpe). Beide waren aber im Fall des "pio7 off" nicht beteiligt.

ZitatDass "state" nicht mehr geupdated wird, ist der "fix" für SVG. Das reading wird nicht mehr benötigt und kann mit "deletereading" gelöscht werden. Das interne reading "STATE" wird dagegen weiter aktualisiert und ändert auch die Kopfzeile im Device.
Alles klar. Das hatte ich so nicht verstanden, macht aber Sinn  ;D

Mir gehen jetzt nur langsam die GPIOs aus...heute Nacht ist der Nächste abgeraucht. Suche aktuell nach einem, der noch funktioniert... :-\
Ich bin Hardwareseitig echt etwas verzweifelt. Finde im Datenblatt des DS2408 aber leider überhaupt nichts, nach welchem Schema dort 1wire angeschlossen ist. Ich vermute standard-parasitär aber dann sollten die 3,3V ja nicht überschritten werden?! Warum brät es mir dann einen GPIO nach dem anderen?

EDIT:
Ich habe mir heute nochmal meine Verdrahtung genauer angesehen. Vielleicht waren es die vielen Bäume, die die Sicht auf den Wald versperrt haben :-\
Ich will es jetzt aber erst einmal laufen lassen und beobachten. Werde dann detailliert berichten.

Danke und Grüße!
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Adimarantis

Anbei zur Fehlersuche noch eine kleine Änderung:
Jetzt steht im Logfile
set pio 0 off fromTimerwenn der Aufruf durch "on-for-timer" getriggert wurde
Dagegen steht bei einem normalen "set" wie gehabt
set pio 0 off -Sonst keine funktionalen Änderungen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

dan1180

ZitatSonst keine funktionalen Änderungen.
Ich werde das System erst einmal so laufen lassen um alles, außer meiner Verdrahtung, ausschließen zu können. Dann spiele ich es natürlich gerne ein.

Danke!
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

dan1180

So...das System läuft jetzt seit 14 Tagen ohne Probleme durch. Ich hatte 1x eine pio0-Aktivierung, die ich mir nicht erklären konnte, kann aber auch nicht ausschließen, dass ich das selber irgendwie war.

Bezüglich meiner zerschossenen GPIOs habe ich den Grund wohl auch gefunden. Ich hatte aus der Zeit, als ich den DS2408 über einen USB-Bus laufen hatte, für die Temperatursensoren einen 4,8K-Widerstand verbaut. Dieser war aber, nachdem ich nun den DS2408 "zwischengeschaltet" habe, erst hinter diesem. Der DS2408 war also mit den beiden Leitungen 1W und GND direkt am GPIO. Seit ich das geändert habe gibt es keine Probleme mehr. Jaja, ich hör die vielen Hände auf die Stirn aufschlagen aber manchmal stehen da einfach zu viele Bäume vor dem Wald...

Vielen Dank, vor allem Adimarantis, für die Unterstützung.
Allen frohe Weihnachten und alles Guten für 2024!
Grüße,
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte