Posts by Hajulied

    Moin,

    Du schreibst "mehr schlecht als recht..." bei der Kombination 8266 und nrf24xx.

    Empfehlenswert ist es jeden Fall "AhoyDtu" auszuprobieren. Läuft bei mir seit Monaten fast fehlerfrei und ist sehr komfortabel. Neben der Anzeige der Livedaten kann insbesondere die Ausgangsleistung des HM eingestellt werden. Dazu hat es eine mqtt Schnittstelle. Auf github gibt eine gute Doku und Support.

    Es reicht ja nicht, den nrf am raspi zu betreiben, du musst ja auch noch das Protokoll des HM entschlüsseln und entsprechend den raspi programmieren. Das würde ich mir nicht antun.

    Gruß Hans-Jürgen

    Moin,

    die Fehlermeldung lautet jetzt(ich habe wieder print eingefügt). Sie erscheint, sobald die Webseite aufgerufen wird.

    Code
    bytearray(b'(\xffd\x0e\x7f\\0g')
    23.375
    Traceback (most recent call last):
      File "<stdin>", line 121, in <module>
      File "<stdin>", line 112, in main
      File "<stdin>", line 66, in get_website
    TypeError: can't convert 'NoneType' object to str implicitly

    ist die if Abfrage so richtig?

    for key, value in POSITION_TO_SENSOR.items():
    position_to_temperature[key] = temperature if rom == key else None

    .... das Byte-Array für einen Sensor hatte ich angepasst. Für meine Tests habe ich nur einen Sensor angeschlossen, In der finalen Version benutze ich 4 Sensoren mit den angepassten Arrays .

    Hier die Ausgabe:

    ich habe noch nicht verstanden, warum das Design der Website geändert werden soll. Ich brauche sie nur als Hilfsmittel für das periodische Auslesen mit einem Raspi per WLAN. Dabei greife ich auf die festen Positionen der Werte zu, nicht über "parsen". Die bisherige Version hat hier gut funktioniert.

    hier die Ausgabe, habe wieder eine print - Anweisung eingefügt:

    bytearray(b'(\xffd\x0e\x7f\\0g')

    27.875

    Traceback (most recent call last):

    File "<stdin>", line 137, in <module>

    File "<stdin>", line 128, in main

    File "<stdin>", line 67, in get_website

    ValueError: need more than 0 values to unpack


    es scheint, als läge der Fehler in der darauf folgenden For-Schleife:


    Moin,

    Deine Idee finde ich grundsätzlich gut.

    Da ich nur sehr wenig Kenntnisse über mpy habe, nehme ich mir immer erst eine Baustelle von mehreren vor, versuche sie zu lösen und widme mich dann der nächsten. Darunter leidet zwar für einen Profi die Strukturerwartung, aber mir hilft es ein wenig.

    Bei dem vorliegenden Script taucht folgender Fehler auf:

    Code
    24.1875    # habe ich eingefügt, um zu prüfen, ob die Definition aufgerufen wird 
    Traceback (most recent call last):
      File "<stdin>", line 120, in <module>
      File "<stdin>", line 111, in main
      File "<stdin>", line 50, in get_website
    ValueError: need more than 0 values to unpack
    
    der Fehler bezieht sich auf folgende Zeile :
    vorlauf, ruecklauf, aussen = position_to_temperature

    Moin,

    auf meinem ESP32 ist webrepl aktiviert und läuft.

    Mit einem Browser kann ich mich zwar mit dem ESP32 verbinden und anmelden, aber es sind keine Eingaben möglich.


    Der ESP zeigt bei erfolgreicher Anmeldung:


    WebREPL connection from: ('192.168.178.116', 35690)

    dupterm: EOF received, deactivating


    Ctrl B beendet die Verbindung.


    Wo liegt mein Fehler?

    Sorry, Du hast recht. Daran habe ich nicht gedacht, weil ich auf meine Frage hier beim Beitrag direkt keine Antwort oder Reaktion aus dem Forum erhalten habe. "WillyR_aus_C" hat meine "Versuche" in mehreren Schritten µP konform aufbereitet. Ich muss nur ( ;) ) noch das Prellen des Kontakts lösen oder auf einen Hall-Sensor umstellen.

    Hier das Script:

    Moin,

    sorry für den Titel, aber die Stichworte sind zutreffend.

    In meinem Programm werden 3 Temperatursensoren ausgelesen und die Werte auf einer kleinen Website dargestellt. Ich möchte zusätzlich die Werte des Gaszählers über die Addition der Verbrauchsimpulse erfassen. Das funktioniert mit "Interrupt-Handler" gut Beide Programme funktionieren für sich, aber wie bekomme ich die Interrupt-Routine in das "Sensor" Programm integriert?

    Im "Sensor-Programm" habe ich teilweise schon die Definitionen des anderen eingefügt, aber ich komme nicht weiter:

    Das Programm für die Interrupt-Abfrage:

    Das Problem liegt mE darin, dass die Abfrage des IRQ laufend erfolgen muss, während die Aktualisierung der Temperaturdaten nur dann erfolgt, wenn Abfragewebsite aufgerufen/aktualisiert wird. Dabei ist eine laufende Aktualisierung der Website nicht notwendig, wenn ein IRQ ausgelöst wird. Hintergrund: Die Temperaturdaten lese ich mit einem Raspi häufiger aus, die Zählerdaten einmal am Tag.

    (Bitte keine anderen Fragestellungen z.B. w/ der HTML-Seite thematisieren ;) )

    Moin,

    der Tipp mit 'r.encoding' hat auf Anhieb geklappt. Jetzt kann ich die Werte aus der Seite auslesen. Habe das Programm testweise etwas erweitert:

    und bekomme diese Ausgabe, genauso wie ich es benötige:

    Code
    Mit WLAN verbinden...
    WLAN:  ('192.168.178.121', '255.255.255.0', '192.168.178.1', '192.168.178.1')
    SSID: FRITZ!Box 7490
    IP: 192.168.178.121
    (2023, 1, 13, 15, 59, 25, 4, 13)
    (2023, 1, 13, 16, 59, 25, 4, 13)
    HTML_Seite b'HTML><HEAD><TITLE>Menu</TITLE>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-885'
    Kilowattstunden b'00044428.92' 44428.92

    Danke für die schnellen und hilfreichen Tipps.

    Hans-Jürgen

    Moin,

    Ich lese mit einem Raspi meinen Datenlogger von Photon-Control Datenlogger aus. Auf dem Logger läuft eine Website mit "User" und "PW" gesichertem Zugang. Der Raspi ist mit der Aufgabe eigentlich unterfordert und ich versuche, das mit einem ESP32 und Micropython zu erledigen. Anstelle von "requests" (Python) versuche ich es mit "urequests" (mpy). Habe überall gesucht, ob es mittlerweile eine Lösung für die Integration von "auth" in mpy gibt, aber nichts gefunden. Gibt es einen Workaround?

    Mein Testprogramm:

    Mit dem dummy - User bekomme ich folgende Ausgabe. Es werden nur die ersten wenigen Zeichen der HTML Seite ausgegeben (bitte keine Kommentare zu den absoluten Positionen, daran ändert sich bei dem Server nichts. Ich weiß, dass "parsen" die richtigere Methode wäre).

    Code
    Mit WLAN verbinden...
    WLAN:  ('192.168.178.121', '255.255.255.0', '192.168.178.1', '192.168.178.1')
    SSID: FRITZ!Box 7490
    IP: 192.168.178.121
    (2023, 1, 12, 20, 59, 48, 3, 12)
    (2023, 1, 12, 21, 59, 48, 3, 12)
    
    
    HTML><HEAD><TITLE>401 Unauthorized</TITLE></HEAD><BODY>401 Unauthorized</BODY></HTML>

    Mit korrektem User/PW wird es leider auch nicht besser:

    urequests hat bei Line 32 folgenden Text:

    Code
    @property
        def text(self):
            return str(self.content, self.encoding)    Zeile aus dem Fehlerhinwei)

    Gibt es einen Workaround oder muss ich bei meinem Raspi bleiben.


    Hans-Jürgen

    Moin,

    vorweg: ich habe nur rudimentäre Python-Kenntnisse.

    Ich möchte aus einem Python Programm eine Funktion aufrufen (Temperaturabfrage) und die Ergebnisse anschließend weiter verarbeiten. Die Abfrage selbst funktioniert gut.

    Als Ausgabe bekomme ich:

    Code
    >>> %Run -c $EDITOR_CONTENT
    [bytearray(b'(\xffd\x0e}DKj'), bytearray(b'(\xffd\x0e}p\x1e\x98'), bytearray(b'(\xffd\x0er:C\x9d')]
    Vorlauf  : 24.4
    Rücklauf : 24.2
    Außen    : 24.2
    Vorlauf  : () °C
    Rücklauf : () °C
    Aussen   : () °C

    Wie muss ich die Funktion/den Funktionsaufruf ändern, damit "Vorl, Rueckl, Auss" weiter verarbeitet werden können? (Bitte keine neuen Fragestellungen o.ä. einbringen).


    Hans-Jürgen