NEWS
Wert aus Satz auslesen
-
@paul53 Ja danke - hatte so was gelesen.
Als nächstes wie gesagt, wäre so ein Puzzleteil mit dem man Objekte/JSON erstellen kann, als Puzzler auf der Wunschliste.
-
Wie gesagt, ich bekomme keinen Datenpunkt im Alexa-Adapter im IoBroker. Ich kann das nur über den summary-datenpunkt machen. Bzw. über den answertext. Wenn ich Alexa frage, "wie warm ist ...?", kommt immer ein ganzer Satz als Antwort. Selbst wenn ich ihr sage, "Nenne mir den Wert von Temperatur ..."
-
@mickym sagte in Wert aus Satz auslesen:
Und zuletzt: Wenn ihr nicht wollt, dass man die JSONATA Bibliothek beim Puzzeln nutzen soll, dann nehmt es halt wieder aus dem Javascript Adapter raus. - Ich dachte, dass sich die Entwickler schon was dabei gedacht haben. Man kann auch regulären Javascript Code in die Puzzleteilchen einbinden, wenn es zu komplex wird, nur das ist natürlich was anderes (ist ja keine Bibliothek).
nein!
ich wollte nur darauf hinweisen dass JSONATA eine weitere "Programmiersprache" ist, die man dann begerrschen muss um es zu nutzen.
Das selbe Problem hatte ich als ich 2014/15 mit node-red begonnen hatte und daran gescheitert bin, dass es damals deutlich weniger nodes gab, als heute und man sehr viel über function nodes abwickeln musste, was wiederum plain js Kenntnisse erforderte, die ich nicht besitze.Blockly ist ja vornehmlich für Logik-Einsteiger gedacht, auch wenn es da inzwischen Expertenbausteine gibt.
Hier hatte ich mal angeregt diese zu kennzeichnen oder/und nur im Expertenmodus anzuzeigen.Der JSONATA Block gehört da dann vielleicht auch zu.
-
@homoran sagte in Wert aus Satz auslesen:
Blockly ist ja vornehmlich für Logik-Einsteiger gedacht, auch wenn es da inzwischen Expertenbausteine gibt.
Hier hatte ich mal angeregt diese zu kennzeichnen oder/und nur im Expertenmodus anzuzeigen.Warum das denn? - Das ist doch schon wieder ein Hürde. Anstelle die Leute zu ermutigen, diese Bibliothek auszuprobieren, sagt man ihnen, dass ist nichts für Dich, sondern nur was für Experten?
Es ist doch keiner gezwungen diese Teile als Einsteiger zu nutzen - man sollte aber sie auch nicht um Teufel komm raus vermeiden, nur weil jemand nichts Neues lernen will oder es kompliziert erscheint. Dachte ich am Anfang auch - heute finde ich diese Bibliothek genial. Ich finde eben eher, man sollte auf die Möglichkeiten damit eher hinweisen, als sie zu vermeiden.
Die meisten Anwender wissen eh nicht, dass es JSONATA beim Puzzeln gibt, dann muss man es nicht auch noch verstecken.
Der EINZIGE Grund Dinge im Expertenmodus zu verstecken ist in meinen Augen, wenn man damit Dinge anstellen kann, die das System insgesamt negativ beeinflussen können.
-
-
@mbm1982-0 sagte in Wert aus Satz auslesen:
bis Alexa ihre Ansage ändert
ich habe diese Dame nicht im Haus!
was kommt denn dann?
bitte mal echte Inhalte des DP in code-tags posten.wenn so etwas allgemeingültig funktionieren soll, muss man auch alle Eventualitäten kennen
-
@mbm1982-0 sagte in Wert aus Satz auslesen:
Viele Dank für eure Hilfe! Ich wollte hier keine Streit entfachen
Die Sache mit JSONATA werde ich mir mal in Ruhe anschauen. Das Gesuche im Text funktioniert ja solange, bis Alexa ihre Ansage ändertKeine Sorge - @Homoran kennt meine Meinung zu diesen Themen ausführlich und führen gerne einen gepflegten Disput, wenn sich der andere mit gegenteiliger Meinung zu sehr provoziert fühlt. Solche Sätze, dass puzzeln bei diesem oder jenem nicht unbedingt das Gelbe vom Ei sind, provozieren manchmal, auch wenn sie dann später indirekt mit solchen Aussagen, wie
ist ja nur Logik für Einsteiger
wieder etwas entschärft werden und man quasi eingestehen muss, dass manche vermeintlich einfachen Aufgaben, sich doch als schwieriger entpuppen.
-
Der Datenpunkt ist wie folgt aufgebaut:
{ "common": { "role": "text", "write": false, "type": "string", "read": true, "name": "answerText" }, "type": "state", "native": {}, "from": "system.adapter.alexa2.0", "user": "system.user.admin", "ts": 043717448, "_id": "alexa2.0.History.answerText", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Der Text im Datenpunkt ist bei der Anfrage nach der Pooltemperatur:
Die Temperatur von Pool ist 3,1 Grad.
Die Anmerkung, ob sich der Antworttext ändert zielt eher auf die Launen der Programmierer hin. Da gibt es ja eine Menge variablen. Egal wie ich sie nach der Temperatur frage, kommt momentan immer der obige Satz.
-
@mickym Einen hab ich noch
Wenn man mit Blockly die Extraktion von wasauchimmer aus woherauchimmer in "umständlichen" Einzelschritten erledigt, kernt man aber auchvdas strukturierte Denken um diesen Extraktionsvorgang.
Das wiederum hilft um JSONATA und RegEx leichter verstehen zu können.
-
@mbm1982-0 sagte in Wert aus Satz auslesen:
Der Datenpunkt ist wie folgt aufgebaut:
ist im Moment nicht so wichtig! Danke!
@mbm1982-0 sagte in Wert aus Satz auslesen:
Die Anmerkung, ob sich der Antworttext ändert zielt eher auf die Launen der Programmierer hin. Da gibt es ja eine Menge variablen.
Die wären interessant um die eben genannte Extraktion allgemeingültig formulieten zu können
-
@homoran sagte in Wert aus Satz auslesen:
@mickym Einen hab ich noch
Wenn man mit Blockly die Extraktion von wasauchimmer aus woherauchimmer in "umständlichen" Einzelschritten erledigt, kernt man aber auchvdas strukturierte Denken um diesen Extraktionsvorgang.
Das wiederum hilft um JSONATA und RegEx leichter verstehen zu können.
Ein Punkt für Dich
- allerdings sollte man dann nicht bei den "umständlichen" Einzelschritten verharren, sondern einen Weg aufzeigen, wie man das Gelernte dann elegant umsetzt
und ggf. zu schätzen weiß, wieviel Arbeit einem diese Bibliotheken und Funktionen einem Abnehmen. Du programmierst ja heute auch nicht mehr die Pixel einzeln auf dem Bildschirm, sondern verlässt Dich auf die Kompetenz und Arbeit der Programmierer der letzten Dekaden.
Mal abgesehen davon, dass Du heute auch nicht mehr in Maschinensprache mit Registern programmierst, um zu verstehen, welche umständlichen Einzelschritte für eine Addition erforderlich sind.
-
@homoran said in Wert aus Satz auslesen:
Die wären interessant um die eben genannte Extraktion allgemeingültig formulieten zu können
Also was da so verzapft wird... manchmal denk ich, dass ist alles noch in der Beta-Phase und es wird im laufenden Betrieb am Code gearbeitet. Spätestens wenn Amazon KI einführen wird, wird es noch schwieriger.
Selbst wenn ich sie gezielt nach dem "Wert von Pooltemperatur" oder "Wert Pool" frage kommt der obige Satz.
Wenn irgendwer denkt sie muss freundlicher klingen, dann werden da Parameter geändert und schon klinkt der Satz anders.Deshalb bin ich etwas genervt, dass der Skill die Daten nicht mehr weitergibt. Jetzt Frage ich sie 1x in der Stunde über mein Tablet, welches für die VIS an der Wand hängt, nach der Temperatur. Durch das Mute bekomme ich die Antwort zum Glück nicht mit. Zur Not werde ich das Gerät flashen, aber geht leider nicht OTA.
-
@mbm1982-0 sagte in Wert aus Satz auslesen:
Die Temperatur von Pool ist 3,1 Grad.
Nur mal als weiterer Denkansatz.
Wenn die Struktur des satzes immer gleich ist und an den gleichen Stellen der Ort und die Temperatur steht, könnte man das auch mit Regex lösen um die individuellen Parameter herauszufinden/Die Temperatur von (\w+) ist ([\d,\.]+) Grad/gm
Ergebnis wäre dann einmal Pool und 3,1
um aus 3,1 eine Zahl zu machen müsste man das Komma dann noch in Punkt umwandeln und in einen Datentyp Zahl konvertieren
bei regex101 sieht das dann ungefähr so aus.
https://regex101.com/r/iQwbzo/1