Hallo zusammen,
ich habe mir den SmartPI2 zugelegt und freue mich, dass es dafür auch ein FHEM-Modul gibt. Die Werte haben bei mir allerdings etliche
Nachkommastellen (bis zu acht). Kann man das ohne eigene Readings auch abändern, bzw. einstellen?
Hintergrund: Ich visualisiere mit TabletUI. Und da reichen mir 2 Stellen. Vielleicht ist die Frage auch dort besser aufgehoben. Ich weiß es leider nicht.
Grüße und Danke schonmal.
Kannst Du mir mal bitte ein list vom Device geben das ich da eine Vorstellung habe wie das aus sieht.
Ich kann die stellen natürlich auch gerne auf 2 oder 3 Nachkommastellen einkürzen. Bisher schreibe ich die Rawwerte welche direkt vom SmartPi kommen als Reading.
Grüße
Danke für die schnelle Antwort. Bei mir sieht das wie folgt aus.
2017-11-28 16:41:38 datasetsTime 2017-11-28 16:41:35
2017-11-26 13:51:24 lastRequestError 200
2017-11-28 16:41:38 lastfetchTime 2017-11-28 16:41:38
2017-11-25 13:42:52 latitude 52.3667
2017-11-25 13:42:52 longitude 9.7167
2017-11-28 16:41:38 phase1_Cosphi 0.9863081
2017-11-28 16:41:38 phase1_Current 0.4019135
2017-11-28 16:39:38 phase1_Frequency 49.97072
2017-11-28 16:41:38 phase1_Power 95.43431
2017-11-28 16:41:38 phase1_Voltage 227.2841
2017-11-28 16:41:38 phase2_Cosphi 0.79657936
2017-11-28 16:41:38 phase2_Current 0.41900396
2017-11-28 16:41:38 phase2_Frequency 49.980476
2017-11-28 16:41:38 phase2_Power 72.93464
2017-11-28 16:41:38 phase2_Voltage 226.0736
2017-11-28 16:41:38 phase3_Cosphi 0.81260836
2017-11-28 16:41:38 phase3_Current 0.23293567
2017-11-28 16:41:38 phase3_Frequency 49.980476
2017-11-28 16:41:38 phase3_Power 62.529274
2017-11-28 16:41:38 phase3_Voltage 227.7457
2017-11-28 16:41:38 phase4_Current 0.63127095
2017-11-28 16:41:38 serialNumber
2017-11-25 13:42:52 smartPiName House
2017-11-28 16:41:38 state done
Grüße
Wenn keiner Einspruch erhebt würde ich das ganze auf 3 Nachkommastellen kürzen.
Ist das ok?
Von mir aus ja ;D
Grüße
Wie wäre es mit einem Attribut für die Anzahl der Kommastellen. Dann kann der Anwender entscheiden was er braucht.
Gesendet von iPad mit Tapatalk
Grüße Jörg
Zitat von: JoWiemann am 28 November 2017, 16:55:07
Wie wäre es mit einem Attribut für die Anzahl der Kommastellen. Dann kann der Anwender entscheiden was er braucht.
Gesendet von iPad mit Tapatalk
Grüße Jörg
Klingt nach einer vernünftigen Lösung ;D
Ich denke so werde ich das machen.
Stimme ich zu.
Da fällt mir noch ein. Wo sind die derzeit möglichen Parameter eigentlich ersichtlich?
Ich habe das Modul mit define my_smartpi SmartPi 1.1.1.1
eingebunden. Ich wollte das Zeitintervall ändern (Standard ist ja 300).
Habe es analog zum LS110-Modul probiert define my_smartpi SmartPi 1.1.1.1 60
Das hat aber so nicht funktioniert.
In der commandreference habe ich nichts dazu gefunden.
Attribut interval. Hatte ich damals in der Commandref vergessen. Also die Attribute. Werde ich noch nacharbeiten.
Ab morgen früh 8 Uhr steht über FHEM update eine neue Version bereit. Attribut decimalPlace
Hallo,
ich habe es gerade probiert und das neue Modul installiert. Allerdings bekomme ich den Fehler, dass das Modul SmartPi nicht geladen werden konnte. Fehler im Log:
2017.12.04 09:56:02 0: syntax error at ./FHEM/46_SmartPi.pm line 173, near "elsif"
syntax error at ./FHEM/46_SmartPi.pm line 187, near "}"
Global symbol "$attrName" requires explicit package name at ./FHEM/46_SmartPi.pm line 187, <$fh> line 250.
Global symbol "$cmd" requires explicit package name at ./FHEM/46_SmartPi.pm line 188, <$fh> line 250.
Global symbol "$hash" requires explicit package name at ./FHEM/46_SmartPi.pm line 189, <$fh> line 250.
Global symbol "$attrVal" requires explicit package name at ./FHEM/46_SmartPi.pm line 189, <$fh> line 250.
Global symbol "$hash" requires explicit package name at ./FHEM/46_SmartPi.pm line 192, <$fh> line 250.
Can't use global @_ in "my" at ./FHEM/46_SmartPi.pm line 201, near "= @_"
Global symbol "$hash" requires explicit package name at ./FHEM/46_SmartPi.pm line 202, <$fh> line 250.
syntax error at ./FHEM/46_SmartPi.pm line 222, near "}"
./FHEM/46_SmartPi.pm has too many errors.
Hallo,
Vielen Dank für die Meldung. Da ist mi in der Tat eine Klammer abhanden gekommen
Alter Code
.....
if( $attrName eq "disable" ) {
if( $cmd eq "set" ) {
if( $attrVal eq "0" ) {
readingsSingleUpdate ( $hash, "state", "enabled", 1 );
Log3 $name, 3, "SmartPi ($name) - enabled";
} else {
RemoveInternalTimer($hash);
readingsSingleUpdate ( $hash, "state", "disabled", 1 );
Log3 $name, 3, "SmartPi ($name) - disabled";
}
} else {
readingsSingleUpdate ( $hash, "state", "enabled", 1 );
Log3 $name, 3, "SmartPi ($name) - enabled";
}
elsif( $attrName eq "disabledForIntervals" ) {
if( $cmd eq "set" ) {
.....
So sollte es gehen
.......
if( $attrName eq "disable" ) {
if( $cmd eq "set" ) {
if( $attrVal eq "0" ) {
readingsSingleUpdate ( $hash, "state", "enabled", 1 );
Log3 $name, 3, "SmartPi ($name) - enabled";
} else {
RemoveInternalTimer($hash);
readingsSingleUpdate ( $hash, "state", "disabled", 1 );
Log3 $name, 3, "SmartPi ($name) - disabled";
}
} else {
readingsSingleUpdate ( $hash, "state", "enabled", 1 );
Log3 $name, 3, "SmartPi ($name) - enabled";
}
}
elsif( $attrName eq "disabledForIntervals" ) {
if( $cmd eq "set" ) {
.....
vor dem letzten elsif muss also noch eine geschweifte Klammer. Entweder Du wartest bis morgen früh 8 Uhr für das FHEM Update oder Du traust Dir zu das in der Moduldatei alleine zu korrigieren.
Danach die Moduldatei noch mal laden
reload 46_SmartPi
Grüße
Hallo,
Danke für die Antwort. Dafür war anscheinend eine Klammer woanders noch zuviel. Vor dem elsif. } elsif( $attrName eq "interval" ) {
if( $cmd eq "set" ) {
$hash->{INTERVAL} = $attrVal;
} else {
$hash->{INTERVAL} = 300;
}
}
elsif( $attrName eq "interval" ) {
if( $cmd eq "set" ) {
$hash->{INTERVAL} = $attrVal;
} else {
$hash->{INTERVAL} = 300;
}
}
Habe es abgeändert und das Modul startet.
Und es funktioniert :) Vielen Dank!
READINGS:
2017-12-04 11:31:27 datasetsTime 2017-12-04 11:31:26
2017-12-04 11:26:59 lastRequestError 200
2017-12-04 11:31:27 lastfetchTime 2017-12-04 11:31:27
2017-12-04 11:30:47 latitude 52.3667
2017-12-04 11:30:47 longitude 9.7167
2017-12-04 11:31:27 phase1_Cosphi 0.75
2017-12-04 11:30:47 phase1_Current 1.69
2017-12-04 11:31:27 phase1_Frequency 49.98
2017-12-04 11:31:27 phase1_Power 320.31
2017-12-04 11:31:27 phase1_Voltage 227.52
2017-12-04 11:31:27 phase2_Cosphi 0.93
2017-12-04 11:31:27 phase2_Current 1.08
2017-12-04 11:30:47 phase2_Frequency 49.97
2017-12-04 11:31:27 phase2_Power 233.03
2017-12-04 11:31:27 phase2_Voltage 234.74
2017-12-04 11:31:27 phase3_Cosphi 0.96
2017-12-04 11:31:27 phase3_Current 0.66
2017-12-04 11:30:47 phase3_Frequency 49.97
2017-12-04 11:31:27 phase3_Power 160.72
2017-12-04 11:31:27 phase3_Voltage 235.06
2017-12-04 11:31:27 phase4_Current 1.18
2017-12-04 11:31:27 serialNumber
2017-12-04 11:30:47 smartPiName House
2017-12-04 11:31:27 state done
Danke Dir. Habe das jetzt gerade gezogen. Stelle es nachher für das morgige Update bereit.