BOSNotifier2 Adresse mit übergeben

Hilfe & Support rund im BosMon. Posting ist ohne Anmeldung erlaubt
Antworten
mmo
Beiträge: 1
Registriert: 5. Dez 2019, 18:22

BOSNotifier2 Adresse mit übergeben

Beitrag 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) 3996 mal betrachtet

jemand eine idee ?

danke im vorraus

mmo
L@mmch3n
Beiträge: 20
Registriert: 2. Aug 2020, 08:48

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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
bosmon
Beiträge: 3963
Registriert: 28. Dez 2009, 18:16

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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
BosMon Dokumentation: https://www.bosmon.de/doc
BosMon Support: support@bosmon.de
L@mmch3n
Beiträge: 20
Registriert: 2. Aug 2020, 08:48

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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) 3134 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) 3134 mal betrachtet
bosmon
Beiträge: 3963
Registriert: 28. Dez 2009, 18:16

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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
BosMon Dokumentation: https://www.bosmon.de/doc
BosMon Support: support@bosmon.de
L@mmch3n
Beiträge: 20
Registriert: 2. Aug 2020, 08:48

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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 ?
L@mmch3n
Beiträge: 20
Registriert: 2. Aug 2020, 08:48

Re: BOSNotifier2 Adresse mit übergeben

Beitrag 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) 2989 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.
Antworten