Forum: Haus & Smart Home Smarthome Projekt openHAB


von J. K. (rooot)


Lesenswert?


von Robert L. (lrlr)


Lesenswert?

hast du dir das überhaupt angeschaut?

man muss dort alles "Programmieren" (in einer "komischen" Sprache)
in Textfiles konfigurieren usw.


ich bin ja Programmierer,
aber (vielleicht deshalb) finde ich das vollkommen Schwachsinnig..

hier mal erstbestes Beispiel (
Sowas z.b. ist doch ein "schlechter Scherz:"



rule "Initialize light states"
  when
    System started
  then
    Lights?.members.forEach(light|
      postUpdate(light, if(Math::random > 0.7) ON else OFF)
    )
end

rule "Timer Demo"
when
  Item Light_GF_Corridor_Ceiling received command
then
  if(receivedCommand==ON) {
    if(timer==null) {
      // first ON command, so create a timer to turn the light off again
      timer = createTimer(now.plusSeconds(10)) [|
        sendCommand(Light_GF_Corridor_Ceiling, OFF)
      ]
    } else {
      // subsequent ON command, so reschedule the existing timer
      timer.reschedule(now.plusSeconds(10))
    }
  } else if(receivedCommand==OFF) {
    // remove any previously scheduled timer
    if(timer!=null) {
      timer.cancel
      timer = null
    }
  }
end

usw suw

von Kail (Gast)


Lesenswert?

Robert L. schrieb:
> man muss dort alles "Programmieren" (in einer "komischen" Sprache)
> in Textfiles konfigurieren usw.

Woher soll das system sonst auch wissen was es zu tun hat?
Ich kann da jetzt nichts Schwachsinniges dran finden...

Ob die Sprache jetzt schön ist oder nicht kann ich natürlich auf Anhieb 
nicht beurteilen...

von Robert L. (lrlr)


Lesenswert?

wenn es auch "für den kleinen Mann", also Elektriker, Häuslbauer, ..
bedienbar/verwendbar sein soll

und (noch viel wichtiger), auch jemand anderer (leicht) versteht was man 
da gemacht hat, und (noch viel wichtiger) man selber nach 3 Jahren noch 
versteht was man gemacht hat..


muss zumindest 95% der ganzen "0815" Sachen, mit einer GUI erledigt 
werden können.. (und nur ganz spezielle Sachen mit Script..)



und: "Zeit ist Geld"
das kann noch so "open" und "free" sein wie es will, wenn man damit 3 
Stunden länger braucht, als mit einem kommerziellen System, ist es schon 
gegessen..(und bei der Lernkurve für die komische Script-sprache und 
Config Files geht es eher um Wochen, als um Stunden)

von Jürgen S. (Firma: privat) (jschmied)


Lesenswert?

Hallo!

Die "komische Scriptsprache" ist übrigens das hier:

http://docs.jboss.org/drools/release/6.0.0.CR3/drools-expert-docs/html/ch04.html

Ja, die Lernkurve ist schon heftig. Die Regeln sehen anfangs einfach aus 
- solange nichts schief geht.

Ich habe diese Ruleengine vor ein paar Jahren beruflich eingesetzt. Mit 
einigen Wochen(!) Einarbeitungszeit muss man schon rechnen, wenn man 
damit etwas komplexes aufbaut. Im Hintergrund werden die "Rules" 
übrigens on-the-fly in Java übersetzt. Wenn man also in den Regeln einen 
Fehler hat, kann man mit der kompletten Bandbreite von Java-Exceptions 
rechnen und dazu noch die eigenen Fehlermeldungen der Rule-Engine und 
von OpenHAB.

Einem Elektriker kann man das sicher nicht in die Hand drücken. Das ist 
ein Spielzeug für Java-Enterprise-Entwickler.

vg

Jürgen

von Fux (Gast)


Lesenswert?

Und was genau findest du daran nun "einen schlechten Scherz"?

von Jürgen S. (Firma: privat) (jschmied)


Lesenswert?

Ich habe das zwar nicht so genannt, aber auch für einen "normalen 
Programmierer" ist die Rule-Language doch etwas gewöhnungsbedürftig, da 
eben nicht wie gewohnt sequentiell programmiert wird, sondern in 
wenn-dann Beziehungen, bei denen die Rule-Engine festlegt, welche Regel 
gerade gilt. Das kann bei sich widersprechenden bzw. wechselwirkenden 
Regeln auch nach hinten losgehen.
Für einen Nicht-Programmierer ist das eventuell sogar besser zu 
verstehen. Allerdings ist in den RHS-Blöcken (also die Dann-Seite) doch 
wieder JAVA drin. Man muss also erstmal das Objektmodell von OpenHAB 
kennen und außerdem etwas Java können. Schicker und weniger 
fehleranfällig wäre es gewesen, das in einer DSL (so etwas wie einer 
eigenen kleinen Scriptsprache) zu verstecken.
Aber wie gesagt, OpenHAB auf Nichtprogrammierer loszulassen geht nicht. 
Versuch mal einem Normalsterblichen das Deployment und den Lifecycle 
eines OSGI-Bundles (sprich eines OpenHAB Bindings) zu erklären. Geht 
einfach  nicht.
Da feht noch eine ganze Menge GUI, um all die Ecken und Kanten zu 
verstecken und selbst dann ... Andererseits ich denke OpenHAB würde auch 
für 10000 Aktoren skalieren ;-) Ist eben Enterprise-Java unter der Haube 
und damit eher ein Atom-U-Boot als ein Paddelbot...

vg

Jürgen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.