Posts by Manul

    awk kann leider keine Shell-Variablen als Suchbegriff in normaler Form nutzen

    Zumindest nicht ohne wildes escapen. Die folgenden beiden Varianten scheinen zu funktionieren:

    Code
    /usr/bin/awk '$1 == "'$VirtUser'" {print $NF;exit}' am
    /usr/bin/awk "\$1 == \"$VirtUser\" {print \$NF;exit}" am

    Ob das eleganter ist als die Variablenübergabe ist allerdings sicher Geschmackssache... :D

    Habe ich das richtig verstanden, daß Du virtuelle User der Form "thomas.a", "thomas.b" etc. hast? Dann klappt mein Vorschlag natürlich nicht, da auch das enthaltene Satzzeichen als Wortgrenze (switch "-w") interpretiert wird. Alternative wäre

    Code
    LinuxUser=$(grep "^$VirtUser[[:space:]]" -i /etc/dovecot/alias_maps | awk '{ print $2 }')

    Das sieht erst besser aus und führt zu 2 korrekten Ausgaben, aber dann zum gleichen Fehler wie oben, siehe das Otto-Problem. Der Linux-User "thomas" hat mehrere Postfächer (virt.user) und eines von denen heisst auch "thomas", ein weiteres "toml".

    Da ich mit Deinem Otto-Beispiel kein Problem hatte, würde ich das gerne verstehen: Kannst Du die entsprechenden Zeilen mal posten? Eigentlich sollte mein grep nur Zeilen finden, die mit dem entsprechenden VirtUser als ganzes Wort anfangen.

    Die geänderte Variante ohne die zwei Blanks;

    LinuxUser=$(grep -w "$VirtUser" -i /etc/dovecot/alias_maps | awk '{ print $2 }')


    Und genau die failed nun bei folgender Situation in der alias_maps, also wenn der virtueller Dovecot-User gleich mit dem Linux-User ist und der User zusätzlich mehrere Postfächer hat ... also wenn die alias_maps so aussieht:

    Versuch mal

    Code
    LinuxUser=$(grep -w "^$VirtUser" -i /etc/dovecot/alias_maps | awk '{ print $2 }')

    BTW, sind die virtuellen Userkennungen wirklich case insensitive (Option "-i")?

    Hast Du mal die Firma direkt kontaktiert? Vielleicht haben die ja noch ein Restexemplar rumliegen, fragen kostet nichts.


    Ansonsten sehe ich in der Tat das größte Problem darin, ein passendes Display zu finden. Die Softwareseite ist dann m.E. relativ trivial. Ein bißchen Zeit und Energie, um Dich in eine Programmiersprache Deiner Wahl einzuarbeiten, wirst Du aber investieren müssen.

    Ich denke, es geht um die Anschlüsse für die Lautsprecher. Ich finde die Info gerade nicht, habe aber die Erfahrung gemacht, daß Hifiberry auf Anfragen sehr schnell reagiert, würde also vorschlagen, es direkt an der Quelle zu versuchen.

    also vergleiche ich "einfach" das heutige Datum mit dem UTC Datum, hol mir daraus die Differenz und rechne mit der Differenz meine strings um ? :)

    Das wäre natürlich eine Möglichkeit, die ohne weitere Module auskommt:

    Code
    offset=datetime.timedelta(seconds=round((datetime.datetime.now()-datetime.datetime.utcnow()).total_seconds()))

    Schön finde ich das allerdings persönlich nicht. Ich würde, wie von Hofei und noisefloor vorgeschlagen, lieber eine Bibliothek wählen, die selbst weiß, wann Sommer- und wann Winterzeit ist, und dafür nicht die Systemuhr bemühen muß.

    Damit ändert sich auch der Anteil des Dampfdrucks am Luftdruck und es findet in jedem Fall ein Ausgleich vom höheren zum niedrigeren Druck statt. Die Luft mag sich unmerklich bewegen, aber sie bewegt sich.

    Ist sicher richtig, aber natürlich findet der Ausgleich umso schneller satt, je mehr die Luft bewegt wird, insofern finde ich den Aspekt zumindest eine Überlegung wert. Intuitiv würde ich trotzdem vermuten, daß es immer sinnvoll ist, Wasser aus dem Keller zu schaffen, aber im speziellen mag es auch auf die lokalen Verhältnisse ankommen.

    Denke eine bessere Variante waere der Vergleich von Taupunkt Aussen zu kaeltester Oberflaechentemperatur Innen.

    Warum? Selbst wenn der Taupunkt außen über der niedrigsten Oberflächentemperatur innen liegt, sollte es beim Lüften trockener werden, wenn der Taupunkt der Innenluft noch höher liegt. Mit anderen Worten: Feuchte Luft gegen weniger feuchte auszutauschen erscheint mir selbst dann sinnvoll, wenn auch die weniger feuchte noch zu feucht ist.

    Ebenfalls frohes Neues Jahr!


    Das Datenblatt sagt zum "temperature output format" folgendes (leider als Bild, da Text im PDF nicht selektierbar):




    Keine Ahnung, wer sich sowas ausdenkt, eine übliche Binärdarstellung negativer Zahlen ist das m.W. nicht.


    Lösung: Wenn die gelesene Temperatur t*10 größer als 32767 ist, ist die tatsächlich gemessene Temperatur (32768-t*10)/10 oder (3276.8-t), in Deinem Fall also -0.2°C – kommt das hin?


    Du kannst das entweder ins Skript oder ins Modul einbauen oder Du suchst Dir ein Python-Modul, das die Temperaturen gleich vernünftig zurückgibt. Ich würde zu letzterem neigen.

    Hallo Ulrich,


    daß die ASH-2200 nicht mehr erhältlich sind, habe ich auch schon mitbekommen. Eine Alternative habe ich derzeit noch nicht, da meine (toi, toi, toi) bis jetzt noch tun.


    Wenn's mal soweit ist, würde ich mich wahrscheinlich nach einer Lösung auf ESP8266-Basis umsehen oder mir die hier im Forum vorgestellten Sensoren auf TinyTX-Basis genauer anschauen.

    Viele Grüße,

    Manuel