FHEM und ChatGPT *** gelöst ***

Begonnen von elektrikpe2, 26 Januar 2023, 10:38:38

Vorheriges Thema - Nächstes Thema

elektrikpe2

Hallo,

schonmal mit ChatGPT befasst. Auch für FHEM kann man ChatGPT nutzen. Nur ein Beispiel als Anlage.

LG Peter

rudolfkoenig

Beeindruckend.

Wir koennten die Anfaengerfragen im Forum damit automatisch beantworten lassen.
Bin noch unsicher, ob es insgesamt zu weniger oder mehr Arbeit fuehrt.
Immerhin waere es damit sichergestellt, dass die Anfaenger nicht direkt wegen doofe Fragen angemacht werden :)

CoolTux

Ich finde die allgemeine Umsetzung zu mindestens überdenkbar. Ich muss mich mit E-Mail registrieren, danach meine Anschrift angeben und nach er Anmeldung noch meine Handynummer sonst geht es nicht weiter. Will ich einer KI diese Daten geben? Ich zumindestens nicht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MadMax-FHEM

Zitat von: CoolTux am 27 Januar 2023, 10:25:50
Ich finde die allgemeine Umsetzung zu mindestens überdenkbar. Ich muss mich mit E-Mail registrieren, danach meine Anschrift angeben und nach er Anmeldung noch meine Handynummer sonst geht es nicht weiter. Will ich einer KI diese Daten geben? Ich zumindestens nicht.

Ich habe zu dem Zweck eine "Müll-e-Mailadresse" und habe ich tatsächlich meine wirkliche Adresse genannt (ich weiß es nicht mehr) und ja, das mit Handynummer hat mich auch geschreckt...
...ich habe dann einfach eine angegeben, die ich ab und an ("Notfall") als Backup-LTE-Datenkarte nutze (kostet mich nichts drum hab ich die)...

Ist spannend das Thema, mal sehen wo das hinführt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

elektrikpe2

so habe ich es auch gemacht. Sieht man doch in jedem Krimi  ;)

sash.sc

Finde ich schon spannend, das die KI das hinbekommt. zumindest das Grundgerüst.

Habe folgendes ausprobiert bzw gefragt.


Schreibe mir für fhem ein DOIF mit 2 bewegungsmeldern und einem Licht Schalter. Licht soll angehen wenn einer der beiden bewegungsmelder eine Bewegung meldet oder der Lichtschalter betätigt wird. Licht soll ausgehen wenn einer der beiden Melder off meldet oder der Lichtschalter ausschaltet. Wenn das Licht über den Lichtschalter ausgeschaltet wird, soll es ausbleiben, egal was die Bewegungsmelder melden


Und raus kam das


define light_control DOIF ([motion_detector_1:motion] eq "on" || [motion_detector_2:motion] eq "on" || [light_switch:state] eq "on") (set light on) DOELSEIF ([motion_detector_1:motion] eq "off" && [motion_detector_2:motion] eq "off" && [light_switch:state] eq "off") (set light off)
attr light_control eventMap on:on off:off



Was meint Ihr?

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

rudolfkoenig

ZitatWas meint Ihr?
Dass der Vorschlag nicht deiner Anforderung entspricht, andererseits ist er so vielleicht sinnvoller :)
Und eventMap ist ueberfluessig.

sash.sc

Eventmap ja, ist überflüssig.

Aber um eine Richtung vorzugeben ist es schon nicht schlecht, denke ich.
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Gisbert

Zitat von: sash.sc am 28 Januar 2023, 15:28:04
Eventmap ja, ist überflüssig.

Aber um eine Richtung vorzugeben ist es schon nicht schlecht, denke ich.

Um die Richtung vorzugeben, kann man auch die Beispiele in der commandref kopieren oder in anderen Fällen Beispiele aus dem Wiki.
Und außerdem, was bedeutet ein Erfolg, der ganz ohne eigene Anstrengung erzielt wird?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Damian

Zitat von: rudolfkoenig am 27 Januar 2023, 09:43:00
Beeindruckend.

Wir koennten die Anfaengerfragen im Forum damit automatisch beantworten lassen.
Bin noch unsicher, ob es insgesamt zu weniger oder mehr Arbeit fuehrt.
Immerhin waere es damit sichergestellt, dass die Anfaenger nicht direkt wegen doofe Fragen angemacht werden :)

Es würde eher mehr Arbeit bedeuten.

Das erste Beispiel würde so nicht funktionieren und noch mehr Fragen aufwerfen, denn eine solche Syntax gibt es im DOIF nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Otto123

Zitat von: Damian am 28 Januar 2023, 23:30:05
... denn eine solche Syntax gibt es im DOIF nicht.
Ist das nun Anreiz für Dich diesen Syntax zu implementieren? ;)

Gerade in Verbindung mit - oder inspiriert von DOIF wird ja gern mal Syntax erfunden, den es nicht gibt.
Ist da KI also auch nicht besser?! Die denkt sich was aus, anstatt die Doku zu lesen? Und schlägt was vor, was sie nicht getestet hat - oder war es ein Flüchtigkeitsfehler? :) Wie steht ChatGPT eigentlich zu Popcorn? ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

elektrikpe2

Ja, man ist doch sehr KI-gläubig. Da muss der Chef kommen und sagen, dass die Syntax falsch ist. Das liegt aber auch daran, dass ich mit der Syntax selber auf "Kriegsfuss"  stehe. Aber ich habe mit chat-GPT weitergemacht und gemeint, dass der DOIF fehlerhaft ist. Ich verzichte auf die Abbildung des Dialoges, aber nach Hinweis auf den Fehler wird sich in aller Form entschuldigt und dann kommt, dass das besser mit einem at zu lösen ist:
define at_circulation at +*00:15:00 {if ((time() ge "06:00") and (time() le "22:00")) {fhem("set pump on-for-timer 300")}}

Also eingeben kann man den define ohne Fehler. Mein doif für die Pumpe ist aus dem Forum und sieht so aus (damit keine Irrtümer aufkommen - der läuft auch richtig)
(([06:30-11:00,+00:15]) or ([11:00-15:00,+00:30]) or ([15:00-23:30,+00:15]))(set Keller_Zirkulationspumpe_IT on)(set Keller_Zirkulationspumpe_IT off)

Deshalb kann man ChatGPT sicher für eine Idee zunächst anwenden muss aber doch die entsprechenden Skills haben, um das auf Machbarkeit prüfen zu können.

LG Peter

Otto123

#12
Zitat von: elektrikpe2 am 29 Januar 2023, 09:34:20
aber nach Hinweis auf den Fehler wird sich in aller Form entschuldigt und dann kommt, dass das besser mit einem at zu lösen ist:
Interessant wäre jetzt die gleiche Frage nochmal zu stellen - ob sie da gelernt hat? Leider habe ich noch keinen Zugang hinbekommen  :-X

Aber sowas time() ge "06:00" geht doch auch bloß nicht - time liefert die Sekunden seit der Geburt und der String wird nicht automatisch in etwas übersetzt was mit ge "zeitlich" vergleichbar wäre  :o die hat ja nicht mal die Basics gelesen. Das ist ja enttäuschend...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damian

#13
Zitat von: Otto123 am 29 Januar 2023, 09:42:00
Interessant wäre jetzt die gleiche Frage nochmal zu stellen - ob sie da gelernt hat? Leider habe ich noch keinen Zugang hinbekommen  :-X

Aber sowas time() ge "06:00" geht doch auch bloß nicht - time liefert die Sekunden seit der Geburt und der String wird nicht automatisch in etwas übersetzt was mit ge "zeitlich" vergleichbar wäre  :o die hat ja nicht mal die Basics gelesen. Das ist ja enttäuschend...

Also doch lieber in der Commandref nachschauen oder im richtigen Board fragen.

Es gibt nichts Schlimmeres als einen Lehrer vor sich zu haben, der Halbwahrheiten erzählt ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

elektrikpe2

Ich habe noch diverse Versuche gemacht und nichts hat funktioniert. Zum Schluss hat er mich an das Forum verwiesen. Das ist ja auch schon was. Also verlassen wir uns weiter auf die natürliche Intelligenz hier im Forum. Hat bisher ja auch immer weitergeholfen. Ich setze das Thema auf gelöst.

LG Peter

Otto123

Danke für den schönen Versuch :)
Immerhin war sie nett ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Prof. Dr. Peter Henning

Wir haben in meiner Forschungsgruppe sehr intensive Tests mit ChatGPT gemacht. Das Hauptproblem ist, dass das System die Grenzen seines (Pseudo-)Wissens nicht kennt. Und im Zweifelsfall eher irgendeinen Müll liefert, als einen Fehler oder mangelndes Verständnis zuzugeben.

LG

pah

curt

#17
Zitat von: Otto123 am 29 Januar 2023, 09:42:00
Interessant wäre jetzt die gleiche Frage nochmal zu stellen - ob sie da gelernt hat?

Etwas anders. Man sagt ihm, dass der Code nicht funktioniert (und ggf. was nicht funktioniert) und er ihn prüfen solle. Bzw. Man sagt ihm das und liefert die Fehlermeldung mit. Mit solcherart Kommunikation kann ChatGPT in der aktuellen Version (aus dem Gedächtnis: 2023-02-13) umgehen.

Ach, das ist auch noch ein wichtiger Punkt: Wissensstand sowie Antwortmodell ändern sich mit den Versionen von ChatGPT.

Nachtrag:
Ein Problem gibt es tatsächlich, falls ChatGPT auch das Forum zum "lernen" nutzt. Wenn wir mal ganz global auf das Forum schauen, gibt es ganz vielen falschen Code, verbunden mit der Nachfrage "warum geht das nicht?". Um eine Größenordnung seltener sind funktionierende Code-Beispiele als Forenantwort.
Das bedeutet dann, dass ChatGPT die nicht funktionierenden Beispiele "lernt".
RPI 4 - Jeelink HomeMatic Z-Wave

pc3d

Hi, hinsichtlich Chat GPT mal anderst gefragt ob man ihn auch in fhem per API oder so integrieren kann.

Also ich nutze snips als sparachassistent mit fhem, und per snips chatgpt fragen und antworten wäre ja auch ein Anwendungsfall, was haltet ihr von der Idee.

curt

Also im Moment spricht einiges dagegen:

ChatGPT über openAI ist nur ein Beta-test, danach wollen die für die Nutzung der API Geld sehen.

ChatGPTv4 über bing.com hat heftige Limits: Egde, Bing-Account, Bing-Warteliste, Begrenzung auf 5 Fragen.

you.com (anderes startup) scheint mir momentan zu dünne.
RPI 4 - Jeelink HomeMatic Z-Wave

Prof. Dr. Peter Henning

#20
Zitatwas haltet ihr von der Idee
Nichts.

Die großen Sprachmodelle wie ChatGPT und neuerdings Llama https://ai.facebook.com/blog/large-language-model-llama-meta-ai/ sind erstens viel zu unsicher in der Qualität der Ergebnisse, siehe meine Bemerkung oben. Zweitens nicht erklärbar (im Sinne der KI-Forschung). Drittens werden sie über kurz oder lang Geld kosten. Das hat mit dem vierten Grund zu tun, aus dem das keine gute Idee ist: Die Modelle sind extrem ressourcenaufwändig - eine einfache Frage kann durchaus mehrere Kilowattstunden Energie für die Antwort kosten.

LG

pah

P.S.: Mal was zum Lachen. Soeben Antwort von ChatGPT "Entschuldigung, diese Information ist nicht korrekt. Peter A. Henning hat keine Bücher über Hausautomatisierung geschrieben. Es scheint, dass es Verwechslungen mit einem anderen Autor gleichen Namens gibt. Peter A. Henning, der Autor von "Wider die Angst: Medien, Meme, Manipulationen" und Professor an der Hochschule Karlsruhe ist, hat sich hauptsächlich mit Themen im Bereich der digitalen Bildung und Bildungstechnologien beschäftigt, wie bereits zuvor erwähnt."

Otto123

Ich habe die Aufgabe aus #5 mal an Bard weiter gegeben - kein Kommentar :)
ZitatSicher, hier ist ein DOIF für FHEM mit 2 Bewegungsmeldern und einem Lichtschalter:

doif (bewegungsmelder_1.state = "on" or bewegungsmelder_2.state = "on") or lichtschalter.state = "on"
{
licht.on()
}
else if (lichtschalter.state = "off")
{
licht.off()
}
Dieses DOIF wird folgendes tun:

  • Wenn einer der beiden Bewegungsmelder eine Bewegung meldet oder der Lichtschalter betätigt wird, wird das Licht eingeschaltet.
  • Wenn einer der beiden Melder "off" meldet oder der Lichtschalter ausgeschaltet wird, wird das Licht ausgeschaltet.
  • Wenn das Licht über den Lichtschalter ausgeschaltet wird, wird es ausbleiben, egal was die Bewegungsmelder melden.
Ich hoffe, das ist hilfreich!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

andies

Also, ich lese aus dem bisherigen Posts sehr große Skepsis heraus. Meine Erfahrung ist momentan eine andere, allerdings bin (und bleibe) ich Anfänger. Ich merke mir nicht, was der Unterschied zwischen $@ und $_ usw ist, weil das einfach nicht beruflich oder privat bei mir regelmäßig vorkommt. Also frage ich, allerdings in Version 4. Ich baue gerade ein Modul für den Privatgebrauch zusammen und habe mir da so manche Frage im Forum und zudem eine Menge Zeit gespart. Das kostet Geld, richtig, aber ich benutze ChatGPT ja auch für etwas anderes, das ist ein Abfallprodukt für mich. Und die Fehlerkontrolle muss ich auch machen, was aber ohne Probleme geht - ich habe keine Angst, wenn FHEM abstürzt.

Ich würde vorschlagen, dass man vorsichtige Hinweise auf dieses Tool im Anfängerforum angibt?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich will ergänzend noch einen Usecase hinzufügen, dann diskutiert es sich unter Umständen einfacher.

Ich hatte bei meinem Modul das Problem, dass ich einen externen Befehl außerhalb von FHEM ausführen musste, bei dem ein größerer String übergeben werden musste. Das habe ich zuerst mit Backticks gemacht und FHEM stürzte ab. Dann habe ich die Maschine gefragt und sie hat mir empfohlen, das mit open3 zu machen, inklusive Code. Das nutze ich jetzt und die Sache läuft seit mehreren Tagen rund: vielleicht zehn Minuten Arbeit war das, und das habe ich mit mir selber ausgemacht. Hätte ich da im Forum gefragt, wäre betateilchen doch Gefahr gelaufen in Popcorn zu ertrinken.

Man darf natürlich nicht denken, dass man Dinge wie "Baue mir ein FHEM-Modul, mit dem eine konservative Anlagestrategie für mein Portfolio automatisiert wird" machen lassen kann. Aber so im Sinne von "1) ChatGPT kann man fragen, 2) du musst das Ergebnis selbst prüfen und nicht gleich uns nerven und 3) für den richtig Faulen ist das auch nichts" wäre in meinen Augen schon drin. 
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann