Antwort
Dez 22, 2020 - 22:37
Mit NEO alleine geht das gar nicht, da zur Zeit Textfelder in NEO ausschließlich der Anzeige dienen, eine Eingabe ist in einem Textfeld in NEO nicht möglich. Den Wunsch bzw. Feature Request, dass man in ein Textfeld in NEO auch etwas eingeben kann, gibt es zwar schon so lange es auch NEO gibt, aber daran hat sich auch über die Jahre nie was geändert, das Textfelder in NEO ausschließlich nur zur Anzeige dienen.
Wenn Du also einen Textstring übergeben willst, geht das nur mit zusätzlichen Hilfsmitteln und einem Element vom Typ Webseite in NEO.
Dazu wird ganz normal ein HTML Formular genutzt und die Daten per POST übergeben, so ein Formular wird im Standard wie im Internetseiten üblich an ein PHP Server geschickt, der dann den POST Request auswertet und die Daten des Formulars in eine Variable schreibt.
Um so was wie Uhrzeit oder Datum zu übergeben nutzt man den input type time bzw. date. Das heißt Du brauchst zusätzlich ein PHP Server der das Formular auswertet und die Daten dann verarbeitet und entweder gleich direkt Homematic IP Geräte abhängig von den übergebenen Daten schaltet oder eben, wenn Du den Umweg gehen willst, eine Systemvariable auf der CCU3 setzt.
Da ich selber mich nicht noch damit beschäftigen will, wie man dann von einem PHP Server wiederum Geräte über die CCU3 schaltet bzw. eine Systemvariable setzt, nutzte ich persönlich IP-Symcon, das dient als PHP-Server und ist gleichzeitig Hausautomationssystem, dass an NEO angebunden ist, von IP-Symcon werden dann auch Homematic IP Geräte über die CCU3 ansteuert.
Im einfachsten Fall zum Übergeben von reinem Text sähe ein Form in NEO so aus
"http://192.168.55.100:3777/hook/neohelper" ist in dem Beispiel der Endpunkt auf dem PHP Server an den das HTML Formular geschickt wird.
Das Form wird dann vom PHP Server ausgewertet und der Wert in eine Variable abgespeichert. Um ein Datum oder Zeit zu übergeben wird der input Type angepasst. Das Layout des HTML Formulars kann per CSS angepasst werden.
Im Fall von IP-Symcon als PHP Server kann dann auch optional über Mediola Gateway-Service eine Variable im NEO Server der CCU3 gesetzt werden oder aber über Homematic Extended auch eine Systemvariable der CCU3.
Ich habe das bei mir in NEO so gelöst, dass ich das Textfeld selber zur Anzeige in NEO nutzte, über dem Textfeld liegt eine transparenter Button, der ein Popup in NEO öffnet mit dem HTML Formular. In dem Formular erfolgt dann die Eingabe und das Absenden der Daten. Sobald bei mir IP-Symcon die Daten empfangen hat und die Variable aktualisiert hat, schließe ich von IP-Symcon aus das Popup Fenster in NEO wieder über NEO Hilfswerkzeuge. Das Textfeld auf der ursprünglichen Seite in der NEO Remote zeigt dann den aktuellen Wert an, der vom Formular übergeben worden ist.
Wenn Du also einen Textstring übergeben willst, geht das nur mit zusätzlichen Hilfsmitteln und einem Element vom Typ Webseite in NEO.
Dazu wird ganz normal ein HTML Formular genutzt und die Daten per POST übergeben, so ein Formular wird im Standard wie im Internetseiten üblich an ein PHP Server geschickt, der dann den POST Request auswertet und die Daten des Formulars in eine Variable schreibt.
Um so was wie Uhrzeit oder Datum zu übergeben nutzt man den input type time bzw. date. Das heißt Du brauchst zusätzlich ein PHP Server der das Formular auswertet und die Daten dann verarbeitet und entweder gleich direkt Homematic IP Geräte abhängig von den übergebenen Daten schaltet oder eben, wenn Du den Umweg gehen willst, eine Systemvariable auf der CCU3 setzt.
Da ich selber mich nicht noch damit beschäftigen will, wie man dann von einem PHP Server wiederum Geräte über die CCU3 schaltet bzw. eine Systemvariable setzt, nutzte ich persönlich IP-Symcon, das dient als PHP-Server und ist gleichzeitig Hausautomationssystem, dass an NEO angebunden ist, von IP-Symcon werden dann auch Homematic IP Geräte über die CCU3 ansteuert.
Im einfachsten Fall zum Übergeben von reinem Text sähe ein Form in NEO so aus
<form action="http://192.168.55.100:3777/hook/neohelper" method="post">
<label for="neotextfield">Text:</label>
<input type="hidden" name="user" value="maxmuster">
<input type="hidden" name="password" value="strenggeheim">
<input type="text" id="neotextfield" name="textfield"><br><br>
<input type="submit" value="Submit">
</form>
"http://192.168.55.100:3777/hook/neohelper" ist in dem Beispiel der Endpunkt auf dem PHP Server an den das HTML Formular geschickt wird.
Das Form wird dann vom PHP Server ausgewertet und der Wert in eine Variable abgespeichert. Um ein Datum oder Zeit zu übergeben wird der input Type angepasst. Das Layout des HTML Formulars kann per CSS angepasst werden.
Im Fall von IP-Symcon als PHP Server kann dann auch optional über Mediola Gateway-Service eine Variable im NEO Server der CCU3 gesetzt werden oder aber über Homematic Extended auch eine Systemvariable der CCU3.
Ich habe das bei mir in NEO so gelöst, dass ich das Textfeld selber zur Anzeige in NEO nutzte, über dem Textfeld liegt eine transparenter Button, der ein Popup in NEO öffnet mit dem HTML Formular. In dem Formular erfolgt dann die Eingabe und das Absenden der Daten. Sobald bei mir IP-Symcon die Daten empfangen hat und die Variable aktualisiert hat, schließe ich von IP-Symcon aus das Popup Fenster in NEO wieder über NEO Hilfswerkzeuge. Das Textfeld auf der ursprünglichen Seite in der NEO Remote zeigt dann den aktuellen Wert an, der vom Formular übergeben worden ist.
Neuen Kommentar hinzufügen