Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 3614
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 56 Mal
Danksagung erhalten: 108 Mal
Kontaktdaten:

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von jp112sdl » 12.05.2019, 14:32

Könnte eine Reboot-Schleife sein.
Mal checken, was seriell an Debugausgaben kommt

VG,
Jérôme

Zapo
Beiträge: 5
Registriert: 03.02.2019, 14:35

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von Zapo » 12.05.2019, 16:20

Das Sketch ist sehr gross. Debug ist ausgeschaltet. Anbei ich sende das Sketch.
Mfg Zapo
Dateianhänge
HB-UNI-Sen-PRESS.zip
(3.22 KiB) 14-mal heruntergeladen

jp112sdl
Beiträge: 3614
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 56 Mal
Danksagung erhalten: 108 Mal
Kontaktdaten:

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von jp112sdl » 12.05.2019, 16:36

Das hilft mit leider nicht weiter.
Ohne Debug weiß ich nicht wo man bei der Fehlersuche anfangen könnte

VG,
Jérôme

rih
Beiträge: 12
Registriert: 09.05.2019, 23:04

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von rih » 12.06.2019, 21:09

Hallo,

ich möchte zwei Druckschalter abfragen. Das habe ich im Sketch entsprechend konfiguriert und funktioniert auch soweit laut seriellem Monitor der Arduino-IDE.

Allerdings habe ich keine CCU, sondern möchte die Drücke direkt in FHEM einlesen. Dazu hat ja papa die HMConfig_AskSinPPCustom.pm für FHEM geschrieben, in der er u.a. auch den HB-UNI-Sen-PRESS verarbeitet. Leider verarbeitet er in dem Programm aber nur einen Kanal bzw. Druckschalter, sofern ich den Code richtig verstanden habe.

Meine Frage daher @papa und andere Experten: wie muss ich den Druckschalter-Abschnitt in der HMConfig_AskSinPPCustom.pm erweitern, damit zwei Kanäle mit den entsprechenden Werten in FHEM angezeigt werden?

papa
Beiträge: 367
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 15 Mal

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von papa » 12.06.2019, 21:14

FHEM kann nur mit der variablen Kanalanzahl nicht umgehen. Du musst Dir ein neues Gerät mit eigenem Typ und dann 2 Kanälen erstellen.
Anfragen zur AskSin++ werden nur im Forum beantwortet

rih
Beiträge: 12
Registriert: 09.05.2019, 23:04

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von rih » 12.06.2019, 21:33

Das habe ich schon versucht, aber nicht ganz hinbekommen. Ich habe zwar zwei Kanäle im Device bekommen, aber der Wert (state) des zweiten Kanals wird leider nicht angezeigt. Hier meine Code-Erweiterung:

Code: Alles auswählen

$HMConfig::culHmModel{"E905"} = {name=>"HB-UNI-Sen-PRESS",st=>'custom',cyc=>'',rxt=>'',lst=>'1,2',chn=>"Pressure:1:2"};
$HMConfig::culHmChanSets{"HB-UNI-Sen-PRESS00"}{fwUpdate} = "<filename>";
$HMConfig::culHmChanSets{"HB-UNI-Sen-PRESS01"} = {};
$HMConfig::culHmChanSets{"HB-UNI-Sen-PRESS02"} = {};
$HMConfig::culHmRegChan {"HB-UNI-Sen-PRESS"}   = { pairCentral=>1, sendIntervalPress=>1 };
$HMConfig::culHmRegChan {"HB-UNI-Sen-PRESS01"} = { sensorTypePress=>1 };
$HMConfig::culHmRegChan {"HB-UNI-Sen-PRESS02"} = { sensorTypePress=>1 };
Ich denke mal, es hakt weiter unten bei der Auswertung:

Code: Alles auswählen

elsif( $model eq "HB-UNI-Sen-PRESS" ) {
      my $chnHash = $modules{CUL_HM}{defptr}{$src."01"};
      Log3 $chnHash->{NAME}, 4, $model.": ".$values;
      # extract 2 byte value
      my @unpacked = map{hex($_)} unpack("A2A4",$values);
      push @evtEt,[$chnHash,1,"pressure:".$unpacked[1]/100];
      push @evtEt,[$chnHash,1,"state:".$unpacked[1]/100];
    }
Wäre nett, wenn Du mir ein wenig detailliertere Info's geben könntest.

papa
Beiträge: 367
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 15 Mal

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von papa » 12.06.2019, 22:11

Ach - die Werte für die beiden Kanäle kommen ja auch noch in einer Nachricht. Hm - geht sicherlich auch irgendwie. Nicht weiter getested

Code: Alles auswählen

elsif( $model eq "HB-UNI-Sen-PRESS" ) {
      my $chnHash = $modules{CUL_HM}{defptr}{$src."01"};
      Log3 $chnHash->{NAME}, 4, $model.": ".$values;
      # extract 2 byte value
      my @unpacked = map{hex($_)} unpack("A2A4A4",$values);
      push @evtEt,[$chnHash,1,"pressure:".$unpacked[1]/100];
      push @evtEt,[$chnHash,1,"state:".$unpacked[1]/100];
      
      $chnHash = $modules{CUL_HM}{defptr}{$src."02"};
      push @evtEt,[$chnHash,1,"pressure:".$unpacked[2]/100];
      push @evtEt,[$chnHash,1,"state:".$unpacked[2]/100];
    }
Habe ich eigentlich erwähnt, dass Perl ein sch..... Sprache ist. Das versteht doch kein Mensch mehr nach 5 Minuten.
Anfragen zur AskSin++ werden nur im Forum beantwortet

larshome
Beiträge: 7
Registriert: 20.10.2019, 08:55
Hat sich bedankt: 4 Mal

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von larshome » 20.10.2019, 09:10

Hallo,
Ich versuche gerade den Druck Sensor von Jerome nachzubauen. Leider kommt beim Hochladen des Sketches immer folgender der Fehler

exit status 1
stray '\303' in program

Ich habe nur den reinen Quelltext verwendet, nicht den HTML Code.

Was mache ich falsch?

Danke für eure Hilfe.

jp112sdl
Beiträge: 3614
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 56 Mal
Danksagung erhalten: 108 Mal
Kontaktdaten:

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von jp112sdl » 20.10.2019, 12:02

da ist vielleicht noch irgendwo ein "Schrottzeichen" drin... Hast du den Text kopiert und eingefügt?
Lad mal das Repo als ZIP runter, dann hast du auch die Datei im Original

VG,
Jérôme

larshome
Beiträge: 7
Registriert: 20.10.2019, 08:55
Hat sich bedankt: 4 Mal

Re: Heizung Druck auslesen mit HB-UNI-Sen-PRESS

Beitrag von larshome » 20.10.2019, 16:04

Ich hatte den Sketch kopiert und eingefügt. Mit der Zip Datei hat es funktioniert. Super danke für die schnelle Hilfe

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“