Beiträge von gwaag

    @Denis89

    die 2 scripts starten mit einer systemd unit.

    @_blackjack_

    Habe jetzt die while True: sleep(30) entfernt, alle Zeilen 4 nach links geschoben, das logging für beide Werte (Temp und Watt) sind jetzt in einem script.

    in crontab -e habe ich das script mit den Temp und Watt loggen alle 20 sec. aufgerufen und das Resultat ist jetzt viel besser, für mich ok:

    Kannst Du bitte in meinem script ein Beispiel zeigen was nicht gut ist mit der Leerzeichensetzung und das mit den öffnenden Klammern?

    Vielen Dank, dann werde ich das noch korrigieren.

    Unübersicht, hat keepfear in #36 schon bemängelt.....

    crontab alle 20 sec

    Code
    * * * * *  /home/pi/th/SG_Ready.py               >dev/null
    * * * * *  sleep 20; /home/pi/th/SG_Ready.py     >dev/null
    * * * * *  sleep 40; /home/pi/th/SG_Ready.py     >dev/null

    Dennis89 Guter Tipp mit dem subprocess.

    Habe jetzt all anderen scripts gesichert und dann geloescht und nur noch die am laufen:

    Code
    pi@solaranzeige:~/th $ ls
    ms.log  SG_Ready.py  WP-Licht.py
    pi@solaranzeige:~/th $

    Alles mit subprocess mit # versehen, d.h. jetzt sind nur noch diese 2 script aktive und schreiben beide auf ms.log:

    script, SG-Ready.py

    und

    script WP-Licht.py

    Nach reboot sieht ms.log aber immer noch nicht so toll aus.

    Dennis89

    Du hast recht, in diesem scrip steht nicht von Watt die geloggt werden sollten, das kommt von einem anderen script das aber genau gleich aufgebaut ist.

    Nachtbooster, wenn die Bedingung erfüllt ist, schaltet es die Waermepumpe über das SG-Ready signal etwas höher.

    23h = bis 23.00h

    timewindow1-6 = Zeitfenster wo abgefragt werden soll ( Anfang/Ende).

    keepfear

    WP-StartStartStartStartSart habe ich nur so gewählt damit es im log hinten heraussteht und ich es schneller finde, sollt ja nur alle 3-4h mal eintreten.

    Hier noch das script mit dem Watt logging

    Danke fuer Deine Antwort.

    Immer wenn ich ein script poste, sagen alle man versteht es nicht, ist nicht übersichtlich. Mit den Kommentaren sollte man doch verstehen was es macht.

    Ich bin kein Programmierer und das was ich hier programmiere kommt von dem was ich früher mit SPS programmiert habe, anders istt es für mich ja noch komplizierter ||

    Trotzdem eine Idee warum der log Eintrag nicht nur alle 30 sec. erfolgt?

    Hallo,

    was könnte der Grund sein dass der log 8x in der gleichen sec, den log füllt?

    Meine Schleife fragt das script alle min. ab.


    Funktioniert, Danke.

    Code
     print (obj ["emeters"][0]["power"])
     logging.info(f"Watt: {round(obj ['emeters'][0]['power'], 2)}")  # Logeintrag
    Code
     print(raum["sensoren"][1]["wert"])
     logging.info(f"Temp: {round(raum['sensoren'][1]['wert'], 2)}")  # Logeintrag


    Code
    Woche 45 Do 10.11.2022 12:18:34 SG-Ready bit1 aus1 -500
    Woche 45 Do 10.11.2022 12:18:35 SG-Ready bit2 aus1 -500
    Woche 45 Do 10.11.2022 12:19:10 Watt: 608.77
    Woche 45 Do 10.11.2022 12:19:33 Temp: 20.76
    Woche 45 Do 10.11.2022 12:19:33 SG-Ready bit1 aus1 -500
    Woche 45 Do 10.11.2022 12:19:34 SG-Ready bit2 aus1 -500
    Woche 45 Do 10.11.2022 12:20:33 Temp: 20.76

    Print hat funktioniert , jetzt im script kommt aber ein error:

    script:

    Code

    Hallo bitte brauche nochmals Hilfe fuer eine json liste die etwas anderst strukturiert ist wie die von Beitrag 5.

    Wie filtere ich "emeters" und "power" im ersten Element, damit ich ihn weiter verarbeiten kann mit z.B print.

    Blicke da immer noch nicht ganz durch.

    Danke, jetzt funktioniert es, habe das mit einer wifi LED Lampe getestet, später werde ich das script fuer meine Wärmepumpe brauchen.

    (SG_Ready Signal) Wenn Raumtemparatur < 20° anhebung, wenn > 21.5° absenkung

    @DeaD_EyE

    Deine Funktion schaue ich mir spaeter noch genauer an

    Danke

    testapi.py

    Danke fuer die Hilfe, leider bin ich ja Anfaenger und weiss jetzt auch nichts mit dem anzufangen:

    Code
    if sensor ["wert"] >= 20.5:
        send_command(ZONE1_ON, IP, PORT)
    
    pi@raspberrypi:~/th $ /home/pi/th/testapi.py
    20.90999984741211
    Traceback (most recent call last):
    File "/home/pi/th/testapi.py", line 28, in <module>
    if sensor ["wert"] >= 20.5:
    NameError: name 'sensor' is not defined

    Script von Tell funktioniert zwar, aber es zeigt mir den falschen Wert an.


    Ich brauche diesen Wert:

    Code
    "name": "7" 
    
    "wert": 20.600000381469727,

    Die aktuelle Raumtemperatur fuer Wohnen west wird 2 x Angezeigt im .json,

    1x als temperatur, ueber name "Wohnen west"

    1x als wert unter name "7"

    Der Wert aus dem script ist nicht die aktuelle Raumtemperatur.

    Hallo Tell,

    Danke, das funktioniert. Es zeigt 23.439999999999998 an.


    Um die aktuelle Raumtemperatur zu erhalten, habe ich sensoren, geaendert in, temperatur.

    Jetzt kommt folgendes:

    Code
    pi@raspberrypi:~/th $ /home/pi/th/testapi.py
    Traceback (most recent call last):
    File "/home/pi/th/testapi.py", line 13, in <module>
    print( raum["temperatur"][0]["wert"] )
    TypeError: 'float' object is not subscriptable