Seite 1 von 1

BOSNotifier2 Adresse mit übergeben

Verfasst: 31. Dez 2019, 18:52
von mmo
Hallo,

ich möchte die Adresse die ich per Regel aus dem Telegramm auslese gerne an BOSNotifier2 übertragen dazu habe ich das Script angepasst:

Code: Alles auswählen

gatewaykey=%address%&message=%message%&headline=%title%&street=%koordinaten.strasse%&haouseNo=%koordinaten.hausnummer%&zipCode=%koordinaten.plz%&town=%koordinaten.stadt%&prio=0&authorization=%field1%
Leider wirft BOSMON wen ein Push getriggert wird folgende Fehlermeldung aus. So recht kann ich das nicht zuordnen warum er das macht.
2019-12-31 18_56_35-BOSMON - TeamViewer.png
2019-12-31 18_56_35-BOSMON - TeamViewer.png (14.95 KiB) 3997 mal betrachtet

jemand eine idee ?

danke im vorraus

mmo

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 25. Aug 2020, 21:50
von L@mmch3n
Hallo zusammen,

ich habe das gleiche Problem. Hat hier jemand schon eine Lösung ?

Laut der DOKU soll es ja so funktionieren

https://www.bosmon.de/doc/bosmon/1.5/h ... #variablen

Grüße und Danke

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 28. Aug 2020, 22:42
von bosmon
Hallo,

bei einer NotFoundException wurden Variablennamen benutzt die nicht existieren. Bitte nur diese Variablennamen nutzen: https://www.bosmon.de/doc/bosmon/1.5/ho ... #variablen

Grüße
Thimo Eichstädt

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 30. Aug 2020, 16:48
von L@mmch3n
Hallo Thimo,

die Variabelen, aus der DOC habe ich genutzt, aber trotzem funktioniert es nicht.

BosNotifier_Test.PNG
BosNotifier_Test.PNG (16.38 KiB) 3135 mal betrachtet

Code: Alles auswählen

gatewaykey=%address%&message=%message%&headline=%title%&prio=0&authorization=%field1%&street=%koordinaten.strasse%&houseNo=%koordinaten.hausnummer%&zipCode=%koordinaten.plz%&town=%koordinaten.stadt%


Es löst die Variabeln einfach nicht auf.

WhatsApp Image 2020-08-30 at 16.53.01.jpg
WhatsApp Image 2020-08-30 at 16.53.01.jpg (44.36 KiB) 3135 mal betrachtet

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 7. Sep 2020, 16:03
von bosmon
Hallo,

die Variablen funktionieren im Ereignis selbst (im Textfeld und in der Titelzeile), nicht in den Push-Einstellungen.

Grüße
Thimo Eichstädt

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 8. Sep 2020, 18:39
von L@mmch3n
Hallo, so ich habe die Variabeln jetzt in der Nachricht eingefügt, und ja Sie werden nun auf gelöst.

Jetzt ist nur das Problem das, ich die Schlüsselwörter der API nicht übermitteln kann.

Die Frage ist jetzt wie wurde das PluginPorgrammiert, ich würde es so machen

Code: Alles auswählen

var client = new RestClient("https://api.bosnotifier.de/messages");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer PmalNtouuTlblLmFSYfltlKSVwrDTEAx");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("title", "TITLE");
request.AddParameter("group", "ID");
request.AddParameter("text", "NACHRICHT");
request.AddParameter("street", "Musterstraße");
request.AddParameter("houseNo", "4");
request.AddParameter("zipCode", "38xxx");
request.AddParameter("town", "Braunschweig");
request.AddParameter("country", "Deutschland");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Somit kann ich die Schlüsselwörter (street, houseNo, zipCode, town, contry) ja nicht übertragen.

Eine Idee wie man das am besten Lösen könnte ?

Re: BOSNotifier2 Adresse mit übergeben

Verfasst: 9. Sep 2020, 07:08
von L@mmch3n
Guten Morgen,

das Thema hat mir keine Ruhe gelassen. Ich habe es jetzt gelöst. Zwar nicht schön, aber es Funktioniert.

Ich habe für das Übertragen der Adresse jetzt die Felder %field2% bis %field3% genutzt.

BosNotifier_Felder.PNG
BosNotifier_Felder.PNG (22.11 KiB) 2990 mal betrachtet

Als nächstes habe ich über das Script die Felder mit Informationen versorgt

Code: Alles auswählen

public static bool ProcessResponse(int httpCode, String[] header, String content, out String result)
{ 
  switch(content) 
  {
    case "100": result = "OK"; return true;
    case "600": result = "API Schlüssel nicht vorhanden oder nicht korrekt"; break;
    case "700": result = "Gatewaykeys sind von unterschiedlichen Nutzern"; break;
    case "800": result = "Kein Gatewaykey übergeben"; break;
    case "900": result = "Keine Nachricht übergeben"; break;
    default: result = content; break;
  }
  return false;
}

public static void PrepareVariables(System.Collections.Generic.IDictionary<String, String> variables)
{
  String value;
  
  if(! variables.TryGetValue("title", out value) || value == null || value.Trim().Length == 0)
    variables["title"] = "Kein Titel";
	
  if(! variables.TryGetValue("message", out value) || value == null || value.Trim().Length == 0)
    {
      variables["message"] = "Keine Meldung";
    }
  else
    {
      String[] koordinaten = variables["message"].Split('#');
      variables["message"] = koordinaten[0];
	
      if(! variables.TryGetValue("field2", out value) || koordinaten[1].Trim().Length == 0)
        {
          variables["field2"] = "Keine Strasse";
        }
      else
       {
         variables["field2"] = koordinaten[1];
       }
		
      if(! variables.TryGetValue("field3", out value) || koordinaten[2].Trim().Length == 0)
        {
          variables["field3"] = "keine Hausnummer";
        }
      else
        {
          variables["field3"] = koordinaten[2];
        }
	
      if(! variables.TryGetValue("field4", out value) || koordinaten[3].Trim().Length == 0)
        {
          variables["field4"] = "Keine PLZ";
        }
      else
        {
          variables["field4"] = koordinaten[3];
        }
	
      if(! variables.TryGetValue("field5", out value) || koordinaten[4].Trim().Length == 0)
        {
          variables["field5"] = "Kein Ort";
        }
      else
        {
          variables["field5"] = koordinaten[4];
        }
    }
}
Zum Schluss werden die Werte im Parameter übergeben

Code: Alles auswählen

gatewaykey=%address%&message=%message%&headline=%title%&prio=0&authorization=%field1%&street=%field2%&houseNo=%field3%&zipCode=%field4%&town=%field5%

Im Ereignis wird über den Text die Meldung und die Koordinaten nun übertragen, und im Script entsprechend wieder zerlegt. Als Trennzeichen habe ich # genutzt.

Code: Alles auswählen

%meldung%#%koordinaten.strasse%#%koordinaten.hausnummer%#%koordinaten.plz%#%koordinaten.stadt%#%koordinaten.land%
Wie schon gesagt, nicht schön aber es funktioniert.