{"name":"PushOwer","type":"com.fibaro.binarySensor","apiVersion":"1.1","initialProperties":{"viewLayout":{"$jason":{"body":{"header":{"style":{"height":"0"},"title":"quickApp_device_645"},"sections":{"items":[]}},"head":{"title":"quickApp_device_645"}}},"uiCallbacks":[],"mainFunction":"--[[\nQuickApP um eine PushOver zu senden !\n30.06.2020 F.Berges\n\nFolgende Informationen soll die Sendekette endhalten, API Info von Pushover.net\n...................................................................................\nRegistrieren Sie Ihre Anwendung, legen Sie den Namen fest und laden Sie ein Symbol hoch, \nund erhalten Sie im Gegenzug ein API-Token (in unserer Dokumentation und Codebeispielenoft als APP_TOKEN bezeichnet).\nPOST eine HTTPS-Anforderung mit den folgenden Parametern: https://api.pushover.net/1/messages.json\ntoken (erforderlich) - das API-Token Ihrer Anwendung\nuser (erforderlich) - der Benutzer-/Gruppenschlüssel(nicht E-Mail-Adresse) Ihres Benutzers (oder Sie), \n sichtbar, wenn er in unserem Dashboard angemeldet ist (häufig als USER_KEY in unserer Dokumentation und Codebeispielen bezeichnet)\nmessage (erforderlich) - Ihre Nachricht\n Einige optionale Parameter können enthalten sein:\nattachment - eine Bildanlage, die mit der Nachricht gesendet werden soll; \n Weitere Informationen zum Hochladen von Dateien finden Sie unter Anhänge\ndevice - der Gerätename Ihres Benutzers, um die Nachricht direkt an dieses Gerät zu senden, \n und nicht auf allen Geräten des Benutzers (mehrere Geräte können durch ein Komma getrennt werden)\ntitle - der Titel Ihrer Nachricht, sonst wird der Name Ihrer App verwendet\nurl - eine zusätzliche URL, die Sie mit Ihrer Nachricht anzeigen können\nurl_title - ein Titel für Ihre zusätzliche URL, sonst wird nur die URL angezeigt\npriority - senden, um keine Benachrichtigung / Warnung zu generieren, immer als stille Benachrichtigung zu senden, \n als hohe Priorität anzuzeigen und die ruhigen Stunden des Benutzers zu umgehen, \n oder auch eine Bestätigung vom Benutzer zu verlangen -2-112\nsound - der Name eines der Sounds, die von Geräteclients unterstützt werden, \n um die Standard-Soundauswahl des Benutzers zu überschreiben\ntimestamp - einen Unix-Zeitstempel des Datums und der Uhrzeit Ihrer Nachricht, \n um dem Benutzer angezeigt zu werden, und nicht die Zeit, \n zu der Ihre Nachricht von unserer API empfangen wird\n\nlocal Sende_Daten = \"token=\" .. token .. \n \"&user=\" .. user .. \n \"&message=\" .. ?? .. \n \"&attachment=\" .. ?? ..\n \"&device=\" .. device .. \n \"&title=\" .. ?? ..\n \"&url=\" .. ?? ..\n \"&url_title=\" .. ?? ..\n \"&priority=\" .. priority .. \n \"&sound=\" .. sound ..\n \"×tamp=\" .. ?? ..\n...................................................................................\n\nHilfe-Quelle https://www.domotique-fibaro.fr/topic/14252-notifications-pushover-sous-hc3/?page=2\n\nBeispiel Szene :\n...................................................................................\n--Maximal mögliche Sendedaten\n--local sende_daten = json.encode({\"token\",\"user\",\"message\",\"attachment\",\"device\",\"title\",\"url\",\"url_title\",\"priority\",\"sound\",\"timestamp\"})\n\n--Hier berücksichtigt !! Reihenfolge einhalten !!\n---------------------------------------------------\n--local sende_daten = json.encode({\"title\",\"priority\",\"sound\",\"message\"})\nlocal sende_daten = json.encode({\"Test vom HC3\",\"1\",\"alien\",\"Hier mal eine Pushover Testnachricht gesendet von meinem HC3\"})\n\nprint(\"Sendebefehl Start mit \",sende_daten)\nfibaro.call(645,\"Send_PushOver\",sende_daten)\nprint(\"Sendebefehl ist raus\")\n...................................................................................\n\n--]]\n\nfunction QuickApp:Send_PushOver(s_daten)\n--daten endhalten : 1=title, 2=priority, 3=sound, 4=message\n--print(\"Start\")\nlocal settings = {\n -- token\n token = token,\n -- User key\n user = user,\n -- Message\n message = tostring(s_daten[4]),\n -- Device\n device = device,\n -- Title\n title = tostring(s_daten[1]),\n -- Priority\n priority = tostring(s_daten[2]),\n -- Sound \n sound = tostring(s_daten[3]),\n\n }\n\n local http = net.HTTPClient({ timeout = 5000 })\n local payload = json.encode(settings)\n print(\"payload = \", payload)\n\thttp:request(\"https://api.pushover.net/1/messages.json\", {\n options = {\n headers = {\n [\"content-type\"] = \"application/json;charset=UTF-8\"\n },\n method = \"POST\",\n data = payload\n }, \n success = function(status)\n --print(\"Status = \",status.status) \n if (tonumber(status.status) == 200) then\n print(\"Nachricht gesendet :\" ..message)\n self:updateView(\"status\", \"text\", \"Gesendete PushOver erfolgreich um : \"..os.date(\"%H:%M\",os.time())) \n self:updateView(\"message\", \"text\", message)\n else \n print (\"Nachricht senden fehlgeschlagen\")\n print(\"Fehlermeldung =\",status.data)\n end\n end,\n\t\terror = function(error)\n print(\"Errors \",error)\n self:updateView(\"status\", \"text\", error) \n end\n\t})\nend\n\nfunction QuickApp:onInit()\n self:debug(\"onInit\")\n -- Lokale Variabeln mit QA variable füllen\n token = tostring(self:getVariable(\"token\")) \n user = tostring(self:getVariable(\"user\"))\n device = tostring(self:getVariable(\"device\"))\nend\n","quickAppVariables":[{"name":"token","value":"sdfdfagsftgbfrstgrthbrtbhtr"},{"name":"user","value":"dfgrdtfgvftgbtrfgbrtbb"},{"name":"device","value":"Mobilfunk-Device"}],"typeTemplateInitialized":true}}