Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- %% properties
- %% autostart
- %% globals
- --]]
- -- DIESE DATEN ANPASSEN
- local user_credentials = 'Og0h8HgneEiTxxx'
- local app_key = 'KLAB9F9X20XYKCVHE6Oxxx'
- local refresh = 1800
- local count = 1
- local sourceTrigger = fibaro:getSourceTrigger()
- Debug = function ( color, message )
- fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
- end
- function globalVar(var,val)
- local http = net.HTTPClient()
- http:request("http://127.0.0.1:11111/api/globalVariables", {
- options = {
- method = 'POST',
- headers = {},
- data = '{"name":"'..var..'","value":"'..val..'"}',
- timeout = 10000
- },
- success = function(response)
- local result = response.data;
- if response.status == 200 or response.status == 201 then
- fibaro:debug('Status: ' ..response.status.. ' - Variable wurde angelegt')
- else
- fibaro:debug('Error: ' ..response.status.. ' - Zugriff verweigert')
- end
- end,
- error = function(err)
- fibaro:debug('[ERROR] ' .. err)
- end
- })
- end
- function koubachi_call()
- Debug( 'green', '__________KOUBACHI-Call 0.2 gestartet__________')
- local selfhttp = net.HTTPClient({timeout=2000})
- url = 'https://api.koubachi.com/v2/user/smart_devices.json?user_credentials='..user_credentials..'&app_key='..app_key..''
- selfhttp:request(url, {
- options={
- headers = selfhttp.controlHeaders,
- method = 'GET',
- timeout = 5000
- },
- success = function(status)
- if status.status == 200 then
- Debug( 'green', '________API-Call erfolgreich durchgeführt_________')
- local response = json.decode(status.data)
- for k=1, count do
- if (response[k].device.id ~= nil) then
- Debug( 'green', '______Koubachi-Sensor ' ..response[k].device.id.. ' erkannt_____')
- if (fibaro:getGlobal('koubachi_'..response[k].device.id..'_hum') == nil) then
- Debug( 'red', 'Variablen nicht gefunden. Erstelle die benötigten Variablen für den Sensor!')
- if (response[k].device.recent_soilmoisture_reading_value ~= '100 %') then
- local hum = string.sub(response[k].device.recent_soilmoisture_reading_value, 1, 2)
- globalVar('koubachi_'..response[k].device.id..'_hum', hum)
- Debug( 'white', 'Gemessene Feuchtigkeit: ' ..response[k].device.recent_soilmoisture_reading_value)
- else
- Debug( 'red', 'Gemessene Feuchtigkeit: ' ..response[k].device.recent_soilmoisture_reading_value.. 'Setze den Wert auf 100.')
- local hum = '100'
- end
- globalVar('koubachi_'..response[k].device.id..'_lux', response[k].device.recent_light_reading_value)
- globalVar('koubachi_'..response[k].device.id..'_temp', response[k].device.recent_temperature_reading_value)
- else
- if (response[k].device.recent_soilmoisture_reading_value ~= '100 %') then
- local hum = string.sub(response[k].device.recent_soilmoisture_reading_value, 1, 2)
- fibaro:setGlobal('koubachi_'..response[k].device.id..'_hum', hum)
- Debug( 'white', 'Gemessene Feuchtigkeit: ' ..response[k].device.recent_soilmoisture_reading_value)
- else
- Debug( 'red', 'Gemessene Feuchtigkeit: ' ..response[k].device.recent_soilmoisture_reading_value.. ' Setze den Wert auf 100.')
- local hum = '100'
- fibaro:setGlobal('koubachi_'..response[k].device.id..'_hum', hum)
- end
- fibaro:setGlobal('koubachi_'..response[k].device.id..'_lux', response[k].device.recent_light_reading_value)
- fibaro:setGlobal('koubachi_'..response[k].device.id..'_temp', response[k].device.recent_temperature_reading_value)
- end
- Debug( 'white', 'Gemessene Helligkeit: ' ..response[k].device.recent_light_reading_value)
- Debug( 'white', 'Gemessene Temperatur: ' ..response[k].device.recent_temperature_reading_value)
- end
- end
- Debug( 'green', '________KOUBACHI-Call 0.2 abgeschlossen________')
- else
- print ("failed")
- print(status.data)
- end
- end,
- error = function(error)
- print "ERROR"
- print(error)
- end
- })
- setTimeout(koubachi_call, refresh*1000);
- end
- if (sourceTrigger['type'] == 'autostart') then
- koubachi_call()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement