Kommandozeilen Interface

thomega

New member
Ich hab da mal etwas ausprobiert: bbqcli bei github ist ein Kommandozeileninterface für meinen neuen WLANThermo Mini V3.

Ziel ist
  • eine lokale Alternative zur Cloud und zu Telegram
  • Zeitsteuerung
  • Alarmierung, falls mal das WLAN ausfällt.
Was geht:
  • Temperaturen auslesen, ändern und protokollieren
  • Alarme ein- und ausschalten und die Bereiche ändern
  • Pitmaster ansteuern
Was fehlt:
  • Skriptsprache zur Zeitsteuerung (d.h. Rezepte)
  • akustische Alarme
  • Änderung der PID Parameter
  • Dokumentation (außer ein paar automatisch erzeugten man pages)
 

s.ochs

BOFH
Teammitglied
Admin
Sehr interessant! Habe mich schon länger gefragt, wann die API endlich mal stärker genutzt wird ;)
Auch sehr professionell aufgebaut. Ich bin nur nicht sicher, ob es in der Form von vielen genutzt werden "kann".

Da die ESP32-Modelle untereinander kompatibel sind, funktionieren die Kommandos übrigens auch am Nano V3 und mit Einschränkungen auch am Link V1 (kein Pitmaster).

Auf die Zeitsteuerung bin ich gespannt. So eine Funktion schwebt uns schon länger vor, wir haben bisher aber noch nicht die passenden Umsetzung gefunden. Eventuell solltest du hier direkt auch eine Eventsteuerung mit einplanen, z. B. eine definierte Kerntemperatur erreicht eine vorgegebene Temperatur.

Falls du den Funktionsumfang überschaubar halten willst, würde ich auf die Einstellbarkeit der PID-Parameter verzichten und mich auf die Auswahl eines Pitmaster-Profils beschränken. In der Regel wird an den PID-Parametern nichts verstellt, und wenn doch dann auch nur einmal. Macht das Ganze ggf. nur unnötig groß und bei einem Update fehleranfällig.

Gruß
Steffen
 

thomega

New member
Die Skriptsprache wird wahrscheinlich sowieso Turing-vollständig🤓. Aktionen sollen von beliebigen Funktionen der Meßwerte und der Zeit ausgelöst werden können (evtl. sogar von den Zeitreihen, aber das könnte zu komplex für den Benutzer werden).

Details habe ich mir noch nicht überlegt, weil ich zuerst sicherstellen wollte, daß die Kommunikation über die API so funktioniert, wie ich mir das vorgestellt habe (ich mache sonst nichts mit HTTP APIs). Aber Ihr habt das gut implementiert(y) und ich kann mich daran machen, verbliebene Ecken und Kanten in meiner Bibliothek abzufeilen.

Wenn das Interface der Bibliothek dann stabil ist, können wir darüber reden, wie man es "benutzerfreundlicher" einpacken kann (ocaml kann nach javascript kompiliert werden, aber ich habe das noch nie gebraucht).
 

-flo-

Member
Die Skriptsprache wird wahrscheinlich sowieso Turing-vollständig🤓.

Sehr vernünftig. Jemand vom Fach, prima! :)

Das mit den Zeitreihen ist nicht so abwegig. Damit kann man nämlich eine Steigung berechnen und mal selbst extrapolieren. Der Server und die WLANThermos machen das ja nicht. Klar, Gründe dafür sind bekannt. Aber für den, der "weiß, was er tut" (TM) ist es kein Fehler die Möglichkeit zu haben.
 
Oben Unten