NEWS
Idee "Übersetzungstabelle" HM-Programm - JS
-
man mag über die HM-CCU GUI denken was man will, aber in den vergangenen Jahren haben sich sehr viele User daran gewöhnt, nicht zuletzt auch, weil der Programmeditor doch intuitiv und dank der dropdown Auswahllisten relativ einfach zu bedienen ist. Vielen Umsteigern, die sich in JS nicht so gut auskennen fällt der Umstieg in das iobroker scripting relativ schwer. Solange eine CCU mit involviert ist, kann man ja die Programme weiterhin auch dort erstellen. Es gibt aber zunehmend eine Tendenz zu Systemen, die ganz ohne CCU-GUI (iobroker mit homegear z.B.), und dort sind die User ganz auf das Scripting angewiesen, sei es z.B. im homegear oder hier eben im iobroker.
Ausgesprochen hilfreich wäre in dem Zusammenhang eine Art Übersetzungstabelle, wo die Funktionen aus dem HM Programmeditor den vergleichbaren JS- sequenzen gegenübergestellt werden. (z.B. wenn Taster ein und … / oder .... dann Licht für ... Minuten ein etc.) Der Idealfall wäre sogar ein HM-Programm-Adapter mit drop-down Auswahl der Geräte. Zumindest die Tabelle wäre wohl für JS-Spezialisten nicht sehr aufwändig zu erstellen, würde aber vielen Umsteigern sehr helfen.
Nebst vereinzelten Beispielen, die alle schon ein relativ hohes Mass an JS-Kenntnissen voraussetzen habe ich hier noch nicht sehr viel gefunden.
(Nebenbei, Tests mit dem CCU-Ersatz durch homegear sind recht ermutigend. an meiner homegear - installation hängt direkt ein CC1101-Modul, die Response Zeiten sind rasend schnell und vor allem ist das system sehr stabil).
Gruss
Starfish
-
Die GUI dem HM lässt sich in der Tat relativ leicht bedienen. Grundsätzlich halte ich die GUI der HM für den falschen Weg. Zum einen dauert es bei etwa komplexeren Umgebungen relativ lange, bis man die Programme zusammengeklickt hat. Es gibt auch viele Einschränkungen, so dass vieles nicht so einfach möglich ist und vieles in kleine Teilprogramme aufgeteilt werden muss. Das Scripting ist aus meiner Sicht der elegantere Weg. Zumindest bei meinen vielen Geräten ist jetzt alles erheblich übersichtlicher. Vielleicht sollten die Beispiel, wie man Skripte schreibt ausgebaut werden, so dass Anfänger einfach den Code kopieren können. So kann man sich nähern. Lernen muss man auf jeden Fall.
-
Ich bin einer Anfänger in IOBroker. Für mich war nicht so einfach die Skriptsbeispiele zu finden.
Ich würde mich wünschen, dass man die neueste Versionen von die nützliche Scripten irgendwo wären, wo man ihnen einfach findet kann. Für die UI ist es besser mit der Seite mit Beispilen.
Für einige Skripten wie das isHeteEinFeirtag würde es helfen, ihnen direkt in IOBroker einzubauen.
-
… die nützliche Scripten irgendwo wären, wo man ihnen einfach findet kann. `
Hast Du http://www.iobroker.net/?page_id=57&lang=de#scripting nicht gefunden ?
@vegetto:Für einige Skripten wie das isHeteEinFeirtag würde es helfen, ihnen direkt in IOBroker einzubauen. `
http://www.iobroker.net/wp-content/uploads/2015/09/Feiertage.js. -
Er meint das die mit dem javascript Adapter geliefert werden sollten. Das fände ich jetzt auch nicht schlecht. Ein Link im Editor "Beispiele" wäre aber auch OK.
Gesendet von meinem Jolla mit Tapatalk
-
Hallo,
@starfish:Der Idealfall wäre sogar ein HM-Programm-Adapter mit drop-down Auswahl der Geräte. `
dem stimme ich gar nicht zu. Denn der Hauptgrund für meinen Umstieg auf ioBroker war, die Logik von der CCU wegzubekommen. Ich würde auch keine Zeit investieren, um mit Hilfe von ioBroker Programme auf der CCU zu erstellen.Ich verstehe aber das Problem. Javascript ist am Anfang ungewohnt, aber sehr viel leichter zu lernen, als Homematic Script (an welchem man früher oder später bei einer reinen HM-Lösung nicht vorbei kommt). Javascript ist weit verbreitet und im Internet sehr gut dokumentiert. Ich habe für Tests je einen unbenutzten Schaltaktor und einen Wandtaster am Computer liegen. Wenn ich ein neues Skript ausprobiere, dienen diese beiden Geräte als Auslöser.
Und natürlich muss man etwas Initiative mitbringen, ausprobieren und vor allem Fragen. Das Forum hier ist doch ideal dafür.
Und zuletzt sind dank des neuen Scenes-Adapters auch Automationen ohne Skript möglich.
Gruß,
Pix
-
Ausgesprochen hilfreich wäre in dem Zusammenhang eine Art Übersetzungstabelle, wo die Funktionen aus dem HM Programmeditor den vergleichbaren JS- sequenzen gegenübergestellt werden. (z.B. wenn Taster ein und … / oder .... dann Licht für ... Minuten ein etc.) `
Das wird wohl nicht möglich sein, da sich die Konzepte der Programmierung zwischen der HM WebUI und ioBroker (JS) stark unterscheiden.Besser wird es sein, Programmbeispiele aus der Homematic mit der Frage nach der ioBroker-Lösung als Screenshot einzustellen. Anhand der Lösungsantworten kann man dann lernen.
-
… die nützliche Scripten irgendwo wären, wo man ihnen einfach findet kann. `
Hast Du http://www.iobroker.net/?page_id=57&lang=de#scripting nicht gefunden ?
@vegetto:Für einige Skripten wie das isHeteEinFeirtag würde es helfen, ihnen direkt in IOBroker einzubauen.
[http://www.iobroker.net/wp-content/uploads/2015/09/Feiertage.js](http://www.iobroker.net/wp-content/uploads/2015/09/Feiertage.js).
Ja, ich habe ihnen später gefunden aber es war nicht die erste Platz, wo ich gesucht habe. Sollten wir vielleicht das Link zu dem Sticky post in dieses Forum addieren?
Das Modell mit der Wiki hat für mich auch eine Nachteil: ich bekomme keine Updates automatisch, als es mit den iobroker Adaptors den Fall ist. Wäre eine Idee diese Skripten in einem git repository zu sammeln?
-
Danke Leute, das war lehrreich. Ich muss gestehen, ich habe meine "Idee" bewusst etwas frech formuliert. Wenn ich zusammenfassen darf: ein HM-Programm Interpreter ist nicht erwünscht oder einfach realisierbar, weil die programmierweisen und -strukturen zu unterschiedlich sind. Hauptsächlich werden Beispiel-"Bibliotheken" vorgeschlagen, was in etwa meinem Vorschlag einer Beispielliste entspricht. Es gibt schon Ansätze dazu, allerdings sind diese Beispiele oft sehr speziell (was nützt mir die Koppelung einer Lampe an eine andere) was fehlt, ist eine halbwegs strukturierte Auflistung von Trivialbeispielen (Taster - Lampe ein toggle-Funktion, delay, und / oder Verknüpfungen) - zugegeben Peanuts für alte Hasen, aber gerade solche Einfachst-Beispiele helfen beim Lernen. Gewiss, das eine oder andere Beispiel gibts tatsächlich irgendwo im Forum, aber gerade für Anfänger oft schwer auffindbar z.T. in grösseren Snippets eingebettet. Eins ist klar, ohne Lernen gehts nicht, das war bei HM-GUI und HM-skript ja auch so.
@Pix
>
> Der Idealfall wäre sogar ein HM-Programm-Adapter mit drop-down Auswahl der Geräte. `dem stimme ich gar nicht zu. Denn der Hauptgrund für meinen Umstieg auf ioBroker war, die Logik von der CCU wegzubekommen. Ich würde auch keine Zeit investieren, um mit Hilfe von ioBroker Programme auf der CCU zu erstellen. `
Deine kategorische Ablehnung finde ich etwas schade, niemand wäre gezwungen, diesen Adapter zu verwenden. Zumindest eine Auswahlmöglichkeit im Editor für die Datenpunkte wäre ein echter Vorteil und würde das mühsame Abschreiben und Kopierfehler eliminieren. (ok cut and paste mit 2 offenen Fenstern ginge auch).@Paul53 Dein Vorschlag ist imho der konstruktivste, falls sich jemand findet, der zukünftig solche Anfragen "übersetzt", auch wenn dieses Forum sich sehr angenehm von anderen abhebt. Andrerseits denke ich die paar Grundfunktionen sind relativ schnell abgehandelt.
Irgendwo stand: im Internet gibts tonnenweise JS Hilfen und Tutorials - stimmt, aber genau da liegt das Problem. Da wären Empfehlungen hilfreich. Auch welche Teile u.U. nicht benötigt bzw was ist für iobroker-skripting relevant und was nicht.
ich habe z.B.folgende ausgesucht
http://www.on-design.de/tutor/javascript/start.htm
oder
gruss
starfish
-
@Pix
>
> Der Idealfall wäre sogar ein HM-Programm-Adapter mit drop-down Auswahl der Geräte. `dem stimme ich gar nicht zu. Denn der Hauptgrund für meinen Umstieg auf ioBroker war, die Logik von der CCU wegzubekommen. Ich würde auch keine Zeit investieren, um mit Hilfe von ioBroker Programme auf der CCU zu erstellen.
Deine kategorische Ablehnung finde ich etwas schade, niemand wäre gezwungen, diesen Adapter zu verwenden. Zumindest eine Auswahlmöglichkeit im Editor für die Datenpunkte wäre ein echter Vorteil und würde das mühsame Abschreiben und Kopierfehler eliminieren. (ok cut and paste mit 2 offenen Fenstern ginge auch).
Hallo Starfish,
natürlich ist niemand gezwungen, den Adapter zu verwenden. Aber jemand muss ihn schreiben. Und die Zeit für diesen Adapter kann man auch in einen sinnvolleren Adapter investieren. Cut & Paste ist erstmal die richtige Arbeitsweise. Später schreibt man automatisch selbst. Das dauert eben etwas.
Irgendwo stand: im Internet gibts tonnenweise JS Hilfen und Tutorials - stimmt, aber genau da liegt das Problem. Da wären Empfehlungen hilfreich. Auch welche Teile u.U. nicht benötigt bzw was ist für iobroker-skripting relevant und was nicht. `
Mein Vorgehensweise, wenn ich ein neues Script brauche, ist immer die gleiche:
<list type="decimal">3. Überlegen, was der Auslöser des Skriptes ist. Aufschreiben.-
Überlegen, was die Aktion sein soll. Aufschreiben.
-
Nach bisherigen / fertigen Skripten suchen, die das tun und sie abwandeln.
-
Im Forum fragen
-
Das im Forum erhaltene Skript analysieren, unbekannte Befehle hier nachsehen: https://github.com/ioBroker/ioBroker.javascript und google-Suche BEFEHL + javascript und Parameter und andere Beispiele, alternative Befehle suchen
-
Im Forum bedanken
-
Basteln
-
gehe ggf. zu Punkt 4
So sollte das funktionieren http://forum.iobroker.net/viewtopic.php?f=21&t=1455&hilit=bus+countdown.
Gruß
Pix
-
-
eigentlich wurde mal geschrieben das ScriptGUI für CCUIO auch für IOBroker umgeschrieben werden sollte. Damit sind mir als Anfänger sehr gute Resultate gelungen. Ich habe noch nicht die Hoffnung aufgegeben das ScriptGUI auch einmal hier zur Verfügung steht!
mfg
Arminhh
-
Ich habe noch nicht die Hoffnung aufgegeben das ScriptGUI auch einmal hier zur Verfügung steht! `
Ich auch. :lol: Smiling_Jack will noch dieses Jahr drangehen. -
Ich habe nie ScriptGUI benutzt aber von dem Screenshots sieht es endlich wie node-red.
Wäre node-red ein Option, für die diejenige die lieber "graphisch" programmieren möchten?
8294_debug_log_-_alexa2_start_und_test_tradfri_gruppe_ver_0_6_1.txt -
… Deine kategorische Ablehnung finde ich etwas schade, niemand wäre gezwungen, diesen Adapter zu verwenden. Zumindest eine Auswahlmöglichkeit im Editor für die Datenpunkte wäre ein echter Vorteil und würde das mühsame Abschreiben und Kopierfehler eliminieren. (ok cut and paste mit 2 offenen Fenstern ginge auch). ... `
Im Editor gibt es eine Auswahlmöglichkeit der Datenpunkte: "ID Einfügen". Das dürfte das cut (oder copy) & paste wohl erübrigen. -
@Steinwedel, stimmt, was die Datenpunkte angeht hast Du wohl recht :oops: , dennoch schreibt Pix
> Cut & Paste ist erstmal die richtige Arbeitsweise.
und das hat sehr wohl seinen Grund. Gerade punkto Syntaxprüfung und debugging ist der Editor nicht gerade anfängerfreundlich. (bitte nicht als Kritik verstehen). Klar gehts auch so irgendwie, nach Absturz im Log nachschauen usw.Ein Lichtblick ist die Ansage mit ScriptGUI -
Gruss
Starfish
-
ich habe mir in der letzten Zeit ebenfalls Gedanken gemacht wie ich mein System einfach gestalten kann.
Hintergrund ist, dass ich irgendwann alles verkaufen möchte und zwar inklusive Haus.
Dabei sollte die Haussteuerung eher ein Verkaufsargument sein und nicht hinderlich, weil zu kompliziert
Im Moment denke ich daran in diesem Fall Pocket Control und CCU einzusetzen und dabei die CCU lediglich auf Heizung und Zeitsteuerung zu reduzieren.
somit wäre ich in der Lage jemanden die Funktionen zu erklären - denke ich jedenfalls (nur Status quo der Anlage, ohne Änderungen)
Allerdings glaube ich, dass das mit ioBroker schwierig ist. Grund dafür ist, dass Grundfunktionen wie Zeitsteuerung und Heizungssteuerung nur durch Programmierung zu bewerkstelligen sind. Die Techniker unter uns haben damit sicher kein Problem, alle anderen schon, auch wenn es noch so schöne Beispiel-Scripte gibt. (script- gui ist aus meiner Sicht bzw. in diesem Kontext ebenfalls ein Programmier-Tool)
Dabei wäre eine einfache Oberfläche auch für iobroker denkbar, z.B durch eine einfach zu erstellende und zu ändernde Zeitsteuerung und eine dedizierte Heizungssteuerung, sowie einer vereinfachten Benutzeroberfläche, also so was wie Benutzer und Expertenmodus.
Ich will damit sagen, dass das für viele Nicht-Techniker durchaus Sinn machen würde. Ein bereits aufgebautes System wäre leichter erklärbar und damit verkaufbar, bzw. auch von der Familie einstellbar.
-
Jetzt muss ich doch mal meine Meinung dazu Kund tun.
Ich bin ein Freund von einfach, das heisst aber nicht das ich sowas wie die HM GUI brauche oder für Sinnvoll halte.
Einfach ist für mich:
1. es muss schnell erlernbar sein
2. ich muss nicht jedesmal für die selbe Aufgabe alles neu erstellen
3. es muss flexibel sein
Punkt 1 erfüllt die HM GUI ganz akzeptabel, Punkt 3 nur teilweise und bei Punkt 2 versagt sie vollkommen. Es ist noch nicht mal möglich ein Programm zu kopieren und es wäre auch sinnlos weil vieles angepasst werden muss und das ist doch irgendwie umständlich.
Der Einstieg in ioBroker ist zur Zeit zwar noch nicht ganz so einfach, aber das war er auch nicht bei Homematic mit der CCU. Dort gab es genau so Fallstricke wie es sie auch hier gibt. Kompliziertere Aufgaben lassen sich auch nur mit Skripten lösen und da musste man sich genau so einarbeiten. Deshalb glaube ich nicht das wir so etwas wie die HM GUI brauchen. Dann lieber die ScriptGUI.
PIX seine Anleitung wie er vorgeht finde ich Super, das sollte sich jeder Anfänger zu Herzen nehmen. So in etwa gehe ich auch vor und damit bin ich bisher gut gefahren.
-
@Jey Cee:PIX seine Anleitung wie er vorgeht finde ich Super, das sollte sich jeder Anfänger zu Herzen nehmen. So in etwa gehe ich auch vor und damit bin ich bisher gut gefahre `
vielleicht war es nicht klar: ich stimme damit überein, wenn es um mich geht. Wenn es um andere Benutzergruppen geht aber nicht.
Es geht also gar nicht um Anfänger oder nicht. Es geht um Nutzer, die gar keine Ambitionen haben Funktionen zu erweitern sondern lediglich ggf mal das Heizprogramm auf ein anderes Zeitprofil einstellen wollen (bzw. ein Zeitprofil ändern wollen)
-
Schöne an ioBroker ist, dass man nicht 1 Tool haben kann, sondern so viel, wie viel man will.
Momentan für die Logik gibt es folgende Adapter:
-
JS
-
node-red
-
Scenes
-
occ (muss ich noch anschauen)
-
Script GUI (Irgendwann)
-
ical
Es stört das System nicht noch weitere Adapter zu Haben (wie HM WebUI, Blocky http://ozoblockly.com/, Schedule, …)
Nur wer wird das machen? Ihr versteht doch, dass es alles in Freizeit entstanden ist?
Momentan RoadMap sieht folgendermaßen aus:
Bluefox:
-
modbus, megad
-
vis-hqwidgets
-
mobile
-
sonos (TTS)
Smiling_Jack:
-
history (Dabei muss man Flot, Rickshaw, Admin, socket-io, simpleApi und js-controller anfassen)
-
wolf
-
ScriptGUI
-
vis-plumb
Homoran:
-
doku
-
images
-
doku
Und dabei, haben wir nicht mal Niveau von CCU.IO erreicht. Es fehlen noch:
-
text2Command,
-
EventList
-
vielleicht noch irgendwas
Also Geduld oder hilft mit.
-
-
Schöne an ioBroker ist, dass man nicht 1 Tool haben kann, sondern so viel, wie viel man will. `
das ist genau auch meine Meinung. ioBroker hat das Potential dazu. und ausserdem steht mein Hausverkauf erst in ein paar Jahren an
Vielleicht schaffe ich es bis dahin auch einen Adapter beizutragen …. :oops: