TypeError: float() argument must be a string or a number

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich bin nicht nur neu hier, sondern auch relativ unbefleckt in Python-Programmierung.

    Dennoch habe ich das folgende Skript zusammengestrickt, um mittels eines Raspberry Pi Zero W und angeschlossenem DHT22 einen Luftbefeuchter an und aus

    zu schalten. Der Luftbefeuchter wird über eine 433 Mhz Steckdose geschaltet, die ich übers der Raspi und dem entsprechenden Sender ansteuere.

    Der Witz ist, dass die Schleife in 1 Stunde etwa 10x durchläuft und dann steigt das Skript mit der Fehlermeldung:

    File "Feucht_reg.py", line 32, in <module>

    if float(humidity)<=50:

    TypeError: float() argument must be a string or a number


    aus. Kann mir bitte jemand einen Hinweis dazu geben?

    Vielen Dank!


    Hier das Skript:

  • TypeError: float() argument must be a string or a number? Schau mal ob du hier fündig wirst!

  • Dein Programm hat gar nicht 32 Zeilen ;)

    Hin und wieder (bei mir ist es so), liefert der Sensor keinen Wert. Auch würde ich dem Sensor etwas Zeit geben, bis du ihn wieder abfragst.

    Mal von mir einen Auszug:

    Edit:

    Nimm auch mal dein time.sleep(30) aus den if-Anweisungen raus und setzt es unten in der selben Einrückungsebene wie humidity. Zudem gibt Adafruit_DHT.read_retry bereits den Datentyp float zurück.

  • Dein Programm hat gar nicht 32 Zeilen ;)

    Hin und wieder (bei mir ist es so), liefert der Sensor keinen Wert. Auch würde ich dem Sensor etwas Zeit geben, bis du ihn wieder abfragst.

    ...

    Edit:

    Nimm auch mal dein time.sleep(30) aus den if-Anweisungen raus und setzt es unten in der selben Einrückungsebene wie humidity. Zudem gibt Adafruit_DHT.read_retry bereits den Datentyp float zurück.

    :lol: Ich hab ein paar Kommentare und auskommentierte Debug-Anweisungen rausgenommen.

    Das der Sensor schon mal keine Werte liegt, habe ich auch schon im Logging bei ThingSpeak beobachtet. Allerdings war ich mir nicht sicher ob es vielleicht am WLAN lag. Hab jetzt mal den Datentyp rausgenommen (dachte, ich brauche ihn) und die Pause rausgerückt (die hatte ich allerdings auch mal gänzlich raus genommen). Danke für deinen Code, schaue ich mir später mal an!

  • ...

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!