HTTP Actor / Sensor für CBPi Projektvorstellung

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#101

Beitrag von Innuendo » Donnerstag 10. Januar 2019, 07:17

Matschie: könntest Du mir zu

Code: Alles auswählen

if (sens_value == 85.0) { // missing VCC
Deine Quelle nennen. Ich finde dazu nichts in der dallas
Danke

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 390
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#102

Beitrag von matschie » Donnerstag 10. Januar 2019, 08:03

Innuendo hat geschrieben:
Mittwoch 9. Januar 2019, 13:21
2.1 Matschie meint vermutlich das Offset wie beim Type One_Wire_Sensor. Im MQTT_Sensor Plugin gibt es die Möglichkeit noch nicht oder?
Ja. Irgendwie bin ich davon ausgegangen dass es das beim MQTT Sensor auch gibt. :Grübel
Innuendo hat geschrieben:
Donnerstag 10. Januar 2019, 07:17
Matschie: könntest Du mir zu

Code: Alles auswählen

if (sens_value == 85.0) { // missing VCC
Deine Quelle nennen. Ich finde dazu nichts in der dallas
Nur Erfahrung. Google sonst mal "DS18B20 85 grad" - der Fehler scheint immer bei unzureichender Stromversorgung aufzutreten. z.B. VCC ab, oder Kabel zu lang, oder im parasitären Betrieb nicht genug Leistung in der Stromversorgung. Ist glaube ich kein echtes "Feature" aber ein reproduzierbares Verhalten.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#103

Beitrag von Innuendo » Donnerstag 10. Januar 2019, 08:16

Super - Danke! PDF
*The power-on reset value of the temperature register is +85°C.
Edit: CRC check hinzugefügt

graythread
Posting Junior
Posting Junior
Beiträge: 11
Registriert: Sonntag 4. November 2018, 12:06

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#104

Beitrag von graythread » Donnerstag 10. Januar 2019, 21:25

Ich hab auch nochmal ein bisschen was getan.
Ich denke es macht Sinn, die ganze Kommunikation auf JSON umzustellen und im Frontend mit HTML zu verhübschen. Der Chip hat auch so schon genug zutun. Bisher habe ich es nur für Sensoren und Aktoren (anzeigen) gemacht, werde es aber noch für die restlichen Bereiche nachholen:-)
https://github.com/PedeLa/MQTTDevice/pull/3
Liebe Grüße!

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#105

Beitrag von Innuendo » Freitag 11. Januar 2019, 10:39

Ich hoffe, es hat keiner Zeit in mein letztes Update investiert. Vermutlich hat die Spielerei mit VS Code/Platformio meine libs/IDE zerschossen. Graythread's pull #2 hat meine ESPs dann komplett lahmgelegt. Das lag aber bestimmt an mir! Nachdem ich alle libs Ordner bereinigt, die IDE neu installiert und den Sketch nochmal ganz von vorne aufgebaut habe, funktioniert er wieder. Obendrein ist der Sketch nun 12% kleiner. Keine Ahnung, was da schief gelaufen ist, aber das hat mir viel Zeit an meinen letzten Urlaubstagen gekostet.

Auch wenn er funktioniert ist der Sketch weiterhin ein Test und ungeeignet für den produktiven Einsatz. Bitte Matschies Version nutzen!

Der EM funktioniert nun "zufriedenstellend". Weil es noch keinen Publisher für die Aktoren gibt, sieht man auf CBPi Seite nicht, wenn der EM einen Aktor ausschaltet. Ich finde den Ansatz Events in eine Warteschlange werfen zu können weiterhin gut, um auf verschiedene Situationen reagieren zu können. Bevor aber die diffs immer größer werden, warte ich mal ab, wie sich das Projekt so entwickelt ;-)
Innu

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#106

Beitrag von Innuendo » Samstag 12. Januar 2019, 11:22

graythread hat geschrieben:
Mittwoch 9. Januar 2019, 12:35
2.1 Temperatur Offset einstellbar: Zumindest meine One-Wire sind alles andere als genau und es wäre doch toll, wenn diese Offsets direkt on-edge berechnet würden und der "richtige" Wert CBP gemeldet würde?
Hallo,
hab mir das mal angeschaut. Quick'n'dirty sind es 2 Zeilen im Plugin

Code: Alles auswählen

d_offset = Property.Number("Offset", configurable=True, default_value="0", description="Offset relative to sensor data")
...
def get_value(self):
        return {"value": self.last_value + float(self.d_offset), "unit": self.unit}
offset.jpg
die MQTT Nachricht im mqtt-spy 26.25°C
offset2.jpg
offset2.jpg (15.71 KiB) 244 mal betrachtet
Innu

graythread
Posting Junior
Posting Junior
Beiträge: 11
Registriert: Sonntag 4. November 2018, 12:06

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#107

Beitrag von graythread » Samstag 12. Januar 2019, 15:00

Klingt doch gut. Packst du es in das cbpi-mqttCompressor Plugin?

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#108

Beitrag von Innuendo » Samstag 12. Januar 2019, 15:09

Hab es hier hinterlegt

graythread
Posting Junior
Posting Junior
Beiträge: 11
Registriert: Sonntag 4. November 2018, 12:06

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#109

Beitrag von graythread » Samstag 12. Januar 2019, 15:49

Super, danke Dir!
Hab auch mit dem Frontend-Refactor ein bisschen weiter gemacht.

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#110

Beitrag von Innuendo » Sonntag 13. Januar 2019, 10:08

Es gab noch einen round Fehler. Ist behoben.
Mein Chrome auf Win addiert den Offset beim Reload der Seite. Auf dem RaspPi scheint es korrekt zu sein. Da muss Matschie mal drüber schauen. Habe mich mit dem Thema Plugins noch nicht beschäftigt.

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 390
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#111

Beitrag von matschie » Montag 14. Januar 2019, 09:48

Innuendo hat geschrieben:
Samstag 12. Januar 2019, 15:09
Hab es hier hinterlegt
Sieht doch nach einer guten Lösung aus!
graythread hat geschrieben:
Samstag 12. Januar 2019, 15:49
Super, danke Dir!
Hab auch mit dem Frontend-Refactor ein bisschen weiter gemacht.
Klappt das gut? Und bringt es was?
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#112

Beitrag von Innuendo » Montag 14. Januar 2019, 09:59

Schau da mal drüber

Code: Alles auswählen

    def get_value(self):
        try:
            self.last_value = round(self.last_value + float(self.d_offset), 2)
        except Exception as e:
                pass
        return {"value": self.last_value, "unit": self.unit}
ich denke, die get_value verarbeitet das Addieren vom Offset mehrfach. Ich hatte am cbpi eine korrekte Anzeige und am Win Client wurde offset doppelt addiert.

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#113

Beitrag von Innuendo » Montag 14. Januar 2019, 10:06

Achja ... ich hab gestern mit meiner EventManager Version einen Brautag durchgeführt: wunderbar.
Ich habe es aber noch nicht hinbekommen, den Plugin Aktoren ein MQTT Subscribe beizubringen.

graythread
Posting Junior
Posting Junior
Beiträge: 11
Registriert: Sonntag 4. November 2018, 12:06

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#114

Beitrag von graythread » Montag 14. Januar 2019, 12:47

matschie hat geschrieben:
Montag 14. Januar 2019, 09:48
Innuendo hat geschrieben:
Samstag 12. Januar 2019, 15:09
Hab es hier hinterlegt
Sieht doch nach einer guten Lösung aus!
..und funktioniert bei mir auch prima, zumindest auf den ersten Blick:-)
matschie hat geschrieben:
Montag 14. Januar 2019, 09:48
graythread hat geschrieben:
Samstag 12. Januar 2019, 15:49
Super, danke Dir!
Hab auch mit dem Frontend-Refactor ein bisschen weiter gemacht.
Klappt das gut? Und bringt es was?
Ich denke schon. Es gibt keine Notwendigkeit mehr, Internet Access zu haben, da alle benötigten Dateien jetzt direkt auf dem Chip liegen (was ich zuhause zB in einem eigenen "Brausubnet" ganz praktisch finde). Außerdem wird die Menge an Daten, die mit jedem Request gepullt wird, um einiges reduziert, da der Server nicht mehr HTML-Formatierungskram auspuckt, sondern dies im Frontend passiert. Und die Methoden liefern jetzt alle korrekte Rückgabewerte, vorher gab es im Frontend immer Fehler beim Posten/Löschen von Sensoren/Aktoren. Kleinkram halt, aber hält den Code was übersichtlicher:-).

Ich habe auch versucht, die Dinge in den Commit Messages jeweils ausführlich zu beschreiben.

Grüße!

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#115

Beitrag von Innuendo » Montag 14. Januar 2019, 19:15

Ich habe pedelas und meine commits gemerged und auf ein Test-Device geflashed. Das schaut schon ganz gut aus. Auf github liegt der aktuelle Stand aus 3 (Himmels) Richtungen.

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 390
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#116

Beitrag von matschie » Dienstag 15. Januar 2019, 07:52

Innuendo hat geschrieben:
Montag 14. Januar 2019, 09:59
Schau da mal drüber

Code: Alles auswählen

    def get_value(self):
        try:
            self.last_value = round(self.last_value + float(self.d_offset), 2)
        except Exception as e:
                pass
        return {"value": self.last_value, "unit": self.unit}
ich denke, die get_value verarbeitet das Addieren vom Offset mehrfach. Ich hatte am cbpi eine korrekte Anzeige und am Win Client wurde offset doppelt addiert.
Das get_value wird jedes mal ausgelöst, wenn der CBPi den Wert des Sensors abfragt. Dann wird auch jedes mal der offset addiert.

Ich hab es jetzt so gelöst, konnte es aber noch nicht live testen:

Code: Alles auswählen

		
	try:
            self.send_value = round(self.last_value + float(self.d_offset), 2)
        except Exception as e:
                pass
        return {"value": self.send_value, "unit": self.unit}
Innuendo hat geschrieben:
Montag 14. Januar 2019, 19:15
Ich habe pedelas und meine commits gemerged und auf ein Test-Device geflashed. Das schaut schon ganz gut aus. Auf github liegt der aktuelle Stand aus 3 (Himmels) Richtungen.
Dann werde ich das am Wochenende auch mal machen. Wenn du einen Pull-Request öffnest, werde ich das dann wenn alles klappt auch zu mir mergen.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#117

Beitrag von Innuendo » Dienstag 15. Januar 2019, 09:57

matschie hat geschrieben:
Dienstag 15. Januar 2019, 07:52
Ich hab es jetzt so gelöst, konnte es aber noch nicht live testen:

Code: Alles auswählen

		
	try:
            self.send_value = round(self.last_value + float(self.d_offset), 2)
        except Exception as e:
                pass
        return {"value": self.send_value, "unit": self.unit}
Probiere ich heute Abend aus. Danke
matschie hat geschrieben:
Dienstag 15. Januar 2019, 07:52
Dann werde ich das am Wochenende auch mal machen. Wenn du einen Pull-Request öffnest, werde ich das dann wenn alles klappt auch zu mir mergen.
Pull request ist geöffnet. Weiß nicht, ob es geklappt hat.

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 390
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#118

Beitrag von matschie » Dienstag 15. Januar 2019, 09:58

Innuendo hat geschrieben:
Dienstag 15. Januar 2019, 09:57
Probiere ich heute Abend aus. Danke
Musst natürlich oben wo last_value definiert ist auch noch den neuen send_value = 0 definieren. Wollte nur nicht den ganzen code hier hin kopieren.

VG
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 125
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#119

Beitrag von Innuendo » Dienstag 15. Januar 2019, 20:35

Das war fast die Lösung ...

Code: Alles auswählen

self.send_value = round(float(self.last_value) + float(self.d_offset), 2)
Nun funktioniert auch das Offset.

Meine ESPs sind nun alle auf den "merged Stand". Subjektiv finde ich die Module dank der Anpassung von graythread agiler. OTA hat wunderbar funktioniert. Über den FSBrowser die config.json eingespielt. Passt aus meiner Sicht soweit.
Weil html und styles für mich ein graus ist, wäre ich für eine Lösung für die Ideen Button "All MQTT/actors off" und ein Button "Reboot ESP" dankbar.
Innu

Antworten