JanGoe / esp8266-wifi-relay

ESP8266-ESP12e Wifi Doppel Relay IOT Unterputz Montage möglich / Schaltaktor
142 stars 37 forks source link

Openhab #49

Closed tkoeberl closed 8 years ago

tkoeberl commented 8 years ago

fixed a bug in tcp.php, added working firmware. added possibility to log against splunk (very powerful piece of software) updating openhab via rest now.

Obs nun passt?

JanGoe commented 8 years ago

Vielen dank für deine Mitarbeit

Werde bei Gelegenheit die Splunk Sache mal testen und dann entscheiden ob ich es mit reinnehme oder nicht, evtl könntest du ein neues Pull request senden ohne die Splunk Funktion ?

evtl sollte man auch drüber nachdenken einige Funktionen in eine extra dabei auszulagern

tkoeberl commented 8 years ago

die splunk Funktion ist ja recht einfach auszuschalten. Wie wäre es wenn man die als Beta bezeichnet und drin lässt? Ich denke auslagern wäre schon sinnvoll. Wie wäre sowas in der Art: Die Splunk Funktion auslagern in splunk.lua. SPLUNK_LOG wird true gesetzt nur wenn die Datei vorhanden ist?

prikril commented 8 years ago

Man könnte es etwas generischer machen: Im actuator wird ein "Schalter" LOGGING_ENABLED und eine Log Funktion definiert:

-- oben bei den statischen Variablen
LOGGING_ENABLED = false    -- set to true to use logging.lua for logging

-- etwas weiter unten dann
function log(level, message)
  print(level.." - "..message)
end

-- nach "-- start actuator"
if (LOGGING_ENABLED == true)
  dofile("logging.lua")    -- overwrite log function
end

In der logging.lua kann dann der Code der "log2splunk" Funktion stehen oder eigener Code. (Wichtig: gleicher Name und Parameter log(level, message) wie oben zu sehen) Es wird die log Funktion des actuators einfach überschrieben. Will man die Logfunktion ändern, muss nur die logging.lua ausgetauscht werden. In der logging.lua steht also:

function log(level, message)
  -- dein eigener code
  print(level.." - "..message)   -- example
end

Schöner wäre es das ganze objektorientiert zu machen, sodass es z. B. Funktionen wie log:info(message) gibt. Aber das muss nicht sein und macht die ganze Sache vielleicht unnötig komplex.

tkoeberl commented 8 years ago

ich denke ich submitte die beiden Sachen in zwei requests:

zeit ist momentan leider ein Problem ;)