From efae7f501e2c547dcea3c358b90cbd444ea2988b Mon Sep 17 00:00:00 2001 From: klauswitt Date: Mon, 7 Apr 2014 19:54:42 +0000 Subject: [PATCH] Umlaute git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@5477 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_RPII2C.pm | 26 +++++++++++++------------- fhem/FHEM/52_I2C_PCA9532.pm | 28 ++++++++++++++-------------- fhem/FHEM/52_I2C_SHT21.pm | 12 ++++++------ 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/fhem/FHEM/00_RPII2C.pm b/fhem/FHEM/00_RPII2C.pm index 2cc200a72..d2f6c1581 100644 --- a/fhem/FHEM/00_RPII2C.pm +++ b/fhem/FHEM/00_RPII2C.pm @@ -32,7 +32,7 @@ sub RPII2C_Initialize($) { # Provider $hash->{Clients} = join (':',@clients); #$hash->{WriteFn} = "RPII2C_Write"; #wird vom client per IOWrite($@) aufgerufen - $hash->{I2CWrtFn} = "RPII2C_Write"; #zum testen als alternative für IOWrite + $hash->{I2CWrtFn} = "RPII2C_Write"; #zum testen als alternative fuer IOWrite # Normal devices $hash->{DefFn} = "RPII2C_Define"; @@ -54,7 +54,7 @@ sub RPII2C_Define($$) { # Log3 undef, 2, $msg; return $msg; } - if(-e $gpioprg) { #I2C Devices für FHEM User lesbar machen + if(-e $gpioprg) { #I2C Devices fuer FHEM User lesbar machen if(-x $gpioprg) { if(-u $gpioprg) { my $exp = $gpioprg.' load i2c'; @@ -151,12 +151,12 @@ sub RPII2C_Set($@) { #writeBlock noch nicht fertig my @sets = ('writeByte', 'writeByteReg', 'writeBlock'); #, 'writeNBlock'); return "Unknown argument $type, choose one of " . join(" ", @sets) if @a < 2; - foreach (@a) { #Hexwerte prüfen und in Dezimalwerte wandeln + foreach (@a) { #Hexwerte pruefen und in Dezimalwerte wandeln return "$name: $_ is no 1byte hexadecimal value" if $_ !~ /^(0x|)[0-9A-F]{1,2}$/xi ; $_ = hex; } my $i2ca = shift @a; - return "$name: I2C Address not valid" unless ($i2ca > 3 && $i2ca < 128); #prüfe auf Hexzahl zwischen 4 und 7F + return "$name: I2C Address not valid" unless ($i2ca > 3 && $i2ca < 128); #pruefe auf Hexzahl zwischen 4 und 7F my $i2chash = { i2caddress => $i2ca, direction => "i2cwrite" }; my ($reg, $nbyte, $data) = undef; @@ -188,7 +188,7 @@ sub RPII2C_Set($@) { #writeBlock noch nicht fertig $i2chash->{nbyte} = $nbyte if defined($nbyte); $i2chash->{data} = $data if defined($data); RPII2C_HWACCESS($hash, $i2chash); - undef $i2chash; #Hash löschen + undef $i2chash; #Hash loeschen return undef; } ##################################### fertig? @@ -212,7 +212,7 @@ sub RPII2C_Get($@) { # my $status = RPII2C_HWACCESS($hash, $i2chash); #my $received = join(" ", @{$i2chash->{received}}); #als Array my $received = $i2chash->{received}; #als Scalar - undef $i2chash; #Hash löschen + undef $i2chash; #Hash loeschen return (defined($received) ? "received : " . $received ." | " : "" ) . " transmission: $status"; } return undef; @@ -238,7 +238,7 @@ sub RPII2C_Write($$) { #wird vom Client aufgerufen my $chash = $main::defs{$d}; Log3 $hash, 5, "$name ->Client gefunden: $d". ($main::defs{$d}{I2C_Address} ? ", I2Caddress: $main::defs{$d}{I2C_Address}":"") . ($clientmsg->{data} ? " Data: $clientmsg->{data}" : ""); CallFn($d, "I2CRecFn", $chash, $clientmsg); - undef $clientmsg #Hash löschen nachdem Daten verteilt wurden + undef $clientmsg #Hash loeschen nachdem Daten verteilt wurden } } return undef; @@ -270,7 +270,7 @@ sub RPII2C_HWACCESS($$) { last if $inh != 0; $status = "Ok" if $inh == 0; } -#hier Mehrfachbeschreibung eines Registers noch entfernen und dafür Bereich mit Registeroperationen beschreiben +#hier Mehrfachbeschreibung eines Registers noch entfernen und dafuer Bereich mit Registeroperationen beschreiben } elsif (defined($clientmsg->{reg}) && defined($clientmsg->{data}) && $clientmsg->{direction} eq "i2cwrite") { #Register beschreiben my @data = split(" ", $clientmsg->{data}); foreach (@data) { @@ -299,8 +299,8 @@ sub RPII2C_HWACCESS($$) { $rmsg .= " " if $n <= $nbyte; $status = "Ok" if ($n + 1) == $nbyte; } - #@{$clientmsg->{received}} = split(" ", $rmsg) if($rmsg); #Daten als Array übertragen - $clientmsg->{received} = $rmsg if($rmsg); #Daten als Scalar übertragen + #@{$clientmsg->{received}} = split(" ", $rmsg) if($rmsg); #Daten als Array uebertragen + $clientmsg->{received} = $rmsg if($rmsg); #Daten als Scalar uebertragen } elsif ($clientmsg->{direction} eq "i2cread") { #Byte lesen my $nbyte = defined($clientmsg->{nbyte}) ? $clientmsg->{nbyte} : 1; my $rmsg = ""; @@ -312,8 +312,8 @@ sub RPII2C_HWACCESS($$) { $rmsg .= " " if $n <= $nbyte; $status = "Ok" if ($n + 1) == $nbyte; } - #@{$clientmsg->{received}} = split(" ", $rmsg) if($rmsg); #Daten als Array übertragen - $clientmsg->{received} = $rmsg if($rmsg); #Daten als Scalar übertragen + #@{$clientmsg->{received}} = split(" ", $rmsg) if($rmsg); #Daten als Array uebertragen + $clientmsg->{received} = $rmsg if($rmsg); #Daten als Scalar uebertragen } $hash->{STATE} = $status; $hash->{ERRORCNT} = defined($hash->{ERRORCNT}) ? $hash->{ERRORCNT} += 1 : 1 if $status ne "Ok"; @@ -443,7 +443,7 @@ sub RPII2C_HWACCESS($$) {
  • Dieses Modul nutzt das gpio Utility der WiringPi Bibliothek um FHEM Schreibrechte auf die I2C Schnittstelle zu geben.
    WiringPi Installation ist hier beschrieben: RPI_GPIO
    - Für andere Systeme (BeagleBone, etc.) oder auch für das Raspberry kann auf WiringPi verzichtet werden. In diesem Fall müssen die Dateien /dev/i2c-x Schreib-/Leserechte, für den User unter dem FHEM läuft, gesetzt bekommen. (z.B. in der etc/init.d/fhem)
    + Für andere Systeme (BeagleBone, etc.) oder auch für das Raspberry kann auf WiringPi verzichtet werden. In diesem Fall müssen die Dateien /dev/i2c-x Schreib-/Leserechte, für den User unter dem FHEM läuft, gesetzt bekommen. (z.B. in der etc/init.d/fhem)
  • Installation der I2C Abhängigkeiten:
    diff --git a/fhem/FHEM/52_I2C_PCA9532.pm b/fhem/FHEM/52_I2C_PCA9532.pm index 924b3d1ab..7cd22f76e 100644 --- a/fhem/FHEM/52_I2C_PCA9532.pm +++ b/fhem/FHEM/52_I2C_PCA9532.pm @@ -19,11 +19,11 @@ #Inhalte des Hashes: #i2caddress 00-7F I2C-Adresse #direction i2cread|i2cwrite Richtung -#reg 00-FF|"" Registeradresse (kann weggelassen werden für IC's ohne Registeradressierung) +#reg 00-FF|"" Registeradresse (kann weggelassen werden fuer IC's ohne Registeradressierung) #nbyte Zahl Anzahl Register, die bearbeitet werden sollen (im mom 0-99) -#data 00-FF ... Daten die an I2C geschickt werden sollen (müssen, wenn nbyte benutzt wird immer ein Vielfaches Desselben sein) +#data 00-FF ... Daten die an I2C geschickt werden sollen (muessen, wenn nbyte benutzt wird immer ein Vielfaches Desselben sein) #received 00-FF ... Daten die vom I2C empfangen wurden, durch Leerzeichen getrennt (bleibt leer wenn Daten geschrieben werden) -#pname_SENDSTAT Ok|error zeigt Übertragungserfolg an +#pname_SENDSTAT Ok|error zeigt uebertragungserfolg an package main; use strict; @@ -177,12 +177,12 @@ sub I2C_PCA9532_Set($@) { join(',', (sort { $setsP{ $a } <=> $setsP{ $b } } keys %setsP) ) unless(exists($setsP{$val})); substr($cmd,0,4,""); - return "$name error: Port$cmd is defined as input" if ( $cmd ~~ @inports ); #Prüfen ob entsprechender Port Input ist + return "$name error: Port$cmd is defined as input" if ( $cmd ~~ @inports ); #Pruefen ob entsprechender Port Input ist my $LSreg = int($cmd / 4); #Nummer des entspechenden LS Registers - my $regaddr = $LSreg + 6; #Adresse für Controlregister berechnen (LS0 = 0x06) + my $regaddr = $LSreg + 6; #Adresse fuer Controlregister berechnen (LS0 = 0x06) my $n = $LSreg * 4; #Erster Port in LSx my $sbyte = 0; - foreach (reverse 0..3) { #ensprechendes Controlregister füllen + foreach (reverse 0..3) { #ensprechendes Controlregister fuellen my $portn = $_ + $n; #hier noch alle inputs auf rezessiv setzen if (( $portn) == $cmd ) { #->wenn aktueller Port dann neuer Wert @@ -208,7 +208,7 @@ sub I2C_PCA9532_Set($@) { } else { my $list = undef; foreach (0..15) { - next if ( $_ ~~ @inports ); #Inputs überspringen + next if ( $_ ~~ @inports ); #Inputs ueberspringen #$list .= "Port" . $_ . ":" . join(',', sort keys %setsP) . " "; $list .= "Port" . $_ . ":" . join(',', (sort { $setsP{ $a } <=> $setsP{ $b } } keys %setsP) ) . " "; } @@ -240,20 +240,20 @@ sub I2C_PCA9532_I2CRec($@) { # vom physical aufgerufen my $name = $hash->{NAME}; my $phash = $hash->{IODev}; my $pname = $phash->{NAME}; - while ( my ( $k, $v ) = each %$clientmsg ) { #erzeugen von Internals für alle Keys in $clientmsg die mit dem physical Namen beginnen + while ( my ( $k, $v ) = each %$clientmsg ) { #erzeugen von Internals fuer alle Keys in $clientmsg die mit dem physical Namen beginnen $hash->{$k} = $v if $k =~ /^$pname/ ; } - #hier noch überprüfen, ob Register und Daten ok + #hier noch ueberpruefen, ob Register und Daten ok if ($clientmsg->{direction} && defined($clientmsg->{reg}) && $clientmsg->{$pname . "_SENDSTAT"} && $clientmsg->{$pname . "_SENDSTAT"} eq "Ok") { if ( $clientmsg->{direction} eq "i2cread" && defined($clientmsg->{received}) ) { # =~ m/^[a-f0-9]{2}$/i) { - #my @rec = @{$clientmsg->{received}}; #bei übergabe im hash als array - my @rec = split(" ",$clientmsg->{received}); #bei übergabe im als skalar + #my @rec = @{$clientmsg->{received}}; #bei uebergabe im hash als array + my @rec = split(" ",$clientmsg->{received}); #bei uebergabe im als skalar Log3 $hash, 3, "$name: wrong amount of registers transmitted from $pname" unless (@rec == $clientmsg->{nbyte}); foreach (reverse 0..$#rec) { #reverse, damit Inputs (Register 0 und 1 als letztes geschrieben werden) I2C_PCA9532_UpdReadings($hash, $_ + $clientmsg->{reg} , $rec[$_]); } readingsSingleUpdate($hash,"state", "Ok", 1); - } elsif ( $clientmsg->{direction} eq "i2cwrite" && defined($clientmsg->{data}) ) { # =~ m/^[a-f0-9]{2}$/i) {#readings aktualisieren wenn Übertragung ok + } elsif ( $clientmsg->{direction} eq "i2cwrite" && defined($clientmsg->{data}) ) { # =~ m/^[a-f0-9]{2}$/i) {#readings aktualisieren wenn uebertragung ok I2C_PCA9532_UpdReadings($hash, $clientmsg->{reg} , $clientmsg->{data}); readingsSingleUpdate($hash,"state", "Ok", 1); @@ -295,7 +295,7 @@ sub I2C_PCA9532_UpdReadings($$$) { my $pval = 3 & ( $inh >> ($_ * 2) ); my $port = $_ + $n; readingsBulkUpdate($hash, 'Port'.$port , $rsetsP{$pval}) - if (ReadingsVal($name, 'Port'.$port,"nix") ne $rsetsP{$pval}); #nur wenn Wert geändert + if (ReadingsVal($name, 'Port'.$port,"nix") ne $rsetsP{$pval}); #nur wenn Wert geaendert } } elsif ( $reg == 3) { #wenn PWM0 Register readingsBulkUpdate($hash, 'PWM0' , $inh); @@ -468,7 +468,7 @@ sub I2C_PCA9532_UpdReadings($$$) {
  • InputPorts
    Durch Leerzeichen getrennte Portnummern die als Inputs genutzt werden.
    - Ports in dieser Liste können nicht geschrieben werden.
    + Ports in dieser Liste können nicht geschrieben werden.
    Standard: no, gültige Werte: 0 1 2 .. 15

  • T0/T1
    diff --git a/fhem/FHEM/52_I2C_SHT21.pm b/fhem/FHEM/52_I2C_SHT21.pm index 75ed20009..b7b6acdf6 100644 --- a/fhem/FHEM/52_I2C_SHT21.pm +++ b/fhem/FHEM/52_I2C_SHT21.pm @@ -107,7 +107,7 @@ sub I2C_SHT21_Catch($) { } -sub I2C_SHT21_Attr (@) {# hier noch Werteüberprüfung einfügen +sub I2C_SHT21_Attr (@) {# hier noch Werteueberpruefung einfuegen my (undef, $name, $attr, $val) = @_; my $hash = $defs{$name}; my $msg = ''; @@ -169,7 +169,7 @@ sub I2C_SHT21_I2CRec ($$) { my $name = $hash->{NAME}; my $phash = $hash->{IODev}; my $pname = $phash->{NAME}; - while ( my ( $k, $v ) = each %$clientmsg ) { #erzeugen von Internals für alle Keys in $clientmsg die mit dem physical Namen beginnen + while ( my ( $k, $v ) = each %$clientmsg ) { #erzeugen von Internals fuer alle Keys in $clientmsg die mit dem physical Namen beginnen $hash->{$k} = $v if $k =~ /^$pname/ ; } if ($clientmsg->{direction} && $clientmsg->{type} && $clientmsg->{$pname . "_SENDSTAT"} && $clientmsg->{$pname . "_SENDSTAT"} eq "Ok") { @@ -228,7 +228,7 @@ sub I2C_SHT21_readTemperature($) { my $i2creq = { i2caddress => $hash->{I2C_Address}, direction => "i2cwrite" }; $i2creq->{data} = hex("F3"); CallFn($pname, "I2CWrtFn", $phash, $i2creq); - usleep(85000); #für 14bit + usleep(85000); #fuer 14bit # Read the two byte result from device my $i2cread = { i2caddress => $hash->{I2C_Address}, direction => "i2cread" }; @@ -250,7 +250,7 @@ sub I2C_SHT21_readHumidity($) { my $i2creq = { i2caddress => $hash->{I2C_Address}, direction => "i2cwrite" }; $i2creq->{data} = hex("F5"); CallFn($pname, "I2CWrtFn", $phash, $i2creq); - usleep(39000); #für 12bit + usleep(39000); #fuer 12bit # Read the two byte result from device my $i2cread = { i2caddress => $hash->{I2C_Address}, direction => "i2cread" }; @@ -340,11 +340,11 @@ sub I2C_SHT21_readHumidity($) { Standard: 5, gültige Werte: 1,2,5,10,20,30

  • roundHumidityDecimal
    - Anzahl Dezimalstellen für den Feuchtewert
    + Anzahl Dezimalstellen für den Feuchtewert
    Standard: 1, gültige Werte: 0 1 2

  • roundTemperatureDecimal
    - Anzahl Dezimalstellen für den Temperaturwert
    + Anzahl Dezimalstellen für den Temperaturwert
    Standard: 1, gültige Werte: 0,1,2

  • IODev