Guten Abend Hilfe mit pushover

  • VB.NET

Es gibt 70 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Sehe ich das richtig, dass du nicht über PushoverNet gehen willst, sondern den HTTPS-Service von Hand befriedigen willst?
    Das geht über einen HTTPS POST.
    Dafür benötigst du HttpWebRequest.

    Hast du PushoverNet über nuget installiert oder nicht?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Dann lass das mit dem Versuch, das Netzwerkprotokoll selbst zu implementieren, sondern gehe zurück zu Post #12
    Möglicherweise musst du den Namespace nach dem New noch angeben.
    Oder die Objekte und Methoden heissen leicht anders.
    Ich habe heute keine Entwicklungsumgebung mehr verfügbar.
    Wenn du die genaue Syntax benötigst, musst du bis morgen warten.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Schreib eine nene Sub.

    Visual Basic-Quellcode

    1. Sub SendPushoverMessage(Message As String, PushOverUserKey As String)
    2. Const PushoverAppKey = "adsmfklnjadksijpoqjew5q4w56e4fqaewfr4" 'hier dein Application Token eintragen
    3. Static PushOver As New PushoverClient.Pushover(PushOverAppKey)
    4. Dim Response = PushOver.Push("PushOverTest", Message, PushOverUserKey)
    5. For Each ErrorMsg In Response.Errors
    6. MessageBox.Show(ErrorMsg)
    7. Next
    8. End Sub

    Dann ziehst du einen Button auf deine Form.
    Wenn du ihn im Designer doppelklickst, kannst du seine Eventroutine bearbeiten.

    VB.NET-Quellcode

    1. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    2. SendPushoverMessage("test message", "adsfnjoij9340uokidfsvg903udpvfki") 'hier dein User-Token oder Group-Token eintragen.
    3. End Sub

    Ausführen .. Button klicken .. Aufs Handyklingeln warten .. fertig.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Habe mein Code nun wie folgt angepasst aber er schickt wen ich auf Button 3 Klicke immer noch keine Nachricht an mein Handy mit der Group

    Hab dir das angepasste Blau Makiert
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim hilf As String
    3. If CheckBox3.Checked = True Then
    4. hilf = "Ja"
    5. Else
    6. hilf = "Nein"
    7. End If
    8. Try
    9. db.Query("INSERT INTO `ils_einsatz`(`fsid`, `anrufer`, `rueckrufnr`, `e_objekt`, `e_strasse`, `e_ort`, `e_info`, `pat_gender`, `pat_name`, `pat_alter`, `eart_fw`, `eart_rd`, `eart_pol`, `eart_thw`, `eart_sonst`, `stichwort`, `tz_objekt`, `tz_strasse`, `tz_ort`, `tz_info`, `alarm`, `alarmdurch`, `sosi`) VALUES ('" & Main.FSID.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox4.Text & "','" & TextBox3.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & ComboBox1.Text & "','" & TextBox23.Text & "','" & TextBox22.Text & "','" & TextBox8.Text & "','" & TextBox7.Text & "','" & TextBox10.Text & "','" & TextBox9.Text & "','" & TextBox11.Text & "','" & TextBox17.Text & "','" & TextBox21.Text & "','" & TextBox20.Text & "','" & TextBox19.Text & "','" & TextBox18.Text & "','" & Now() & "','" & Main.Label6.Text & "','" & hilf & "')")
    10. Dim anzahl As MySqlLib.ResultCollection = db.Query("SELECT * FROM `ils_einsatz`")
    11. If CheckedListBox1.CheckedItems.Count > 0 Then
    12. For xy As Integer = 1 To CheckedListBox1.CheckedItems.Count Step 1
    13. db.Query("UPDATE `ils_schleifen` SET `alarm`='" & anzahl.Row(anzahl.Row.Count - 1).Column("id") & "' WHERE `name` = '" & CheckedListBox1.CheckedItems.Item(xy - 1) & "' AND `fsid`='" & Main.FSID.Text & "'")
    14. If CheckBox1.Checked = True Then
    15. Dim grouptoken As MySqlLib.ResultCollection = db.Query("SELECT `pushover_api` FROM `ils_schleifen` WHERE `name` = '" & CheckedListBox1.CheckedItems.Item(xy - 1) & "' AND `fsid`='" & Main.FSID.Text & "'")
    16. WebBrowser1.Navigate("https://api.pushover.net/1/messages.json" & CheckedListBox1.CheckedItems.Item(xy - 1) & "&token=" & grouptoken.Row(0).Column("pushover_api"), False)
    17. End If
    18. If CheckBox2.Checked = True Then
    19. Dim r As New System.Random()
    20. Dim x As String = "Schleife " & r.Next(1, 50) & " Gruppe " & r.Next(1, 50) & " Melder " & r.Next(1, 500)
    21. db.Query("INSERT INTO `ils_bmz`(`fsid`, `bma_name`, `bma_art`, `bma_text`) VALUES ('" & Main.FSID.Text & "','" & TextBox3.Text & "','F','" & x & "')")
    22. End If
    23. Next
    24. End If
    25. Catch ex As Exception
    26. MessageBox.Show("Es ist folgender Fehler aufgetreten:" & vbNewLine & "(" & ex.HResult & ") " & ex.Message, "Funkspiel-ILS :: MySQL-Fehler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    27. End Try
    28. Me.Close()
    29. Dim tcpClient As New System.Net.Sockets.TcpClient()
    30. tcpClient.Connect("xxxxxx", "10011")
    31. Dim networkStream As Sockets.NetworkStream = tcpClient.GetStream()
    32. Dim sendBytes As [Byte]()
    33. sendBytes = Encoding.ASCII.GetBytes("login serveradmin xxxxx" + vbCrLf)
    34. networkStream.Write(sendBytes, 0, sendBytes.Length)
    35. sendBytes = Encoding.ASCII.GetBytes("use sid=1" + vbCrLf)
    36. networkStream.Write(sendBytes, 0, sendBytes.Length)
    37. sendBytes = Encoding.ASCII.GetBytes("clientupdate client_nickname=Leitstelle\smit\sFunkalamierung" + vbCrLf)
    38. networkStream.Write(sendBytes, 0, sendBytes.Length)
    39. Dim result As MySqlLib.ResultCollection = db.Query("SELECT id, eart_fw, eart_rd, sosi, eart_pol, eart_thw, eart_sonst, e_objekt, e_strasse, e_ort, e_info, pat_name, alarm FROM ils_einsatz ORDER BY id DESC LIMIT 1")
    40. Dim ils_id As Integer = result.Row(0).Column("id")
    41. Dim alarm As String = result.Row(0).Column("alarm")
    42. alarm = alarm.Trim().Replace(" ", "\s")
    43. Dim eart_fw As String = result.Row(0).Column("eart_fw")
    44. eart_fw = eart_fw.Trim().Replace(" ", "\s")
    45. Dim eart_rd As String = result.Row(0).Column("eart_rd")
    46. eart_rd = eart_rd.Trim().Replace(" ", "\s")
    47. Dim e_objekt As String = result.Row(0).Column("e_objekt")
    48. e_objekt = e_objekt.Trim().Replace(" ", "\s")
    49. Dim e_strasse As String = result.Row(0).Column("e_strasse")
    50. e_strasse = e_strasse.Trim().Replace(" ", "\s")
    51. Dim e_ort As String = result.Row(0).Column("e_ort")
    52. e_ort = e_ort.Trim().Replace(" ", "\s")
    53. Dim sosi As String = result.Row(0).Column("sosi")
    54. sosi = sosi.Trim().Replace(" ", "\s")
    55. Dim e_info As String = result.Row(0).Column("e_info")
    56. e_info = e_info.Trim().Replace(" ", "\s")
    57. Dim newresult As MySqlLib.ResultCollection = db.Query("SELECT name FROM ils_schleifen WHERE alarm=" & ils_id)
    58. Dim wache As String = newresult.Row(0).Column("name")
    59. If newresult.Row.Count > 1 Then
    60. For xy As Integer = 2 To newresult.Row.Count Step 1
    61. wache = wache & ", " & newresult.Row(xy - 1).Column("name")
    62. Next
    63. End If
    64. wache = wache.Trim().Replace(" ", "\s")
    65. Dim msg As String = "\nEinsatz\s" & ils_id & "\sam\s" & alarm &
    66. "\n\sSchleife:\s" & wache &
    67. "\n\sAnfahrt\smit\sSonderrechten:\s" & sosi &
    68. "\n\sEs\sgeht\snach:\s" & e_objekt &
    69. "\sStrasse:\s" & e_strasse &
    70. "\sOrt:\s" & e_ort &
    71. "\n\sStichwort\sFeuerwehr:\s" & eart_fw &
    72. "\n\sStichwort\sRettungsdienst:\s" & eart_rd &
    73. "\n\sWeitere\sInfos:\s" & e_info
    74. msg = String.Format("\n####################EINSATZFAX####################\r\n{0}\r\n####################EINSATZFAX#ENDE###############", msg)
    75. Dim toSend As String = "sendtextmessage targetmode=3 target=1 msg=[b][color=red]" & msg
    76. sendBytes = Encoding.ASCII.GetBytes(toSend + vbCrLf)
    77. networkStream.Write(sendBytes, 0, sendBytes.Length)
    78. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    79. networkStream.Write(sendBytes, 0, sendBytes.Length)
    80. If Not networkStream.CanRead Then
    81. Console.WriteLine("cannot not write data to this stream")
    82. tcpClient.Close()
    83. Else
    84. If Not networkStream.CanWrite Then
    85. Console.WriteLine("cannot read data from this stream")
    86. tcpClient.Close()
    87. End If
    88. End If
    89. ' pause so user can view the console output
    90. Console.ReadLine()
    91. [color=#0000ff]SendPushoverMessage("test message", "xxxxxxxx") 'hier dein User-Token oder Group-Token eintragen.[/color]
    92. End Sub
    93. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    94. Dim hilf As String
    95. If CheckBox3.Checked = True Then
    96. hilf = "Y"
    97. Else
    98. hilf = ""
    99. End If
    100. Try
    101. db.Query("INSERT INTO `ils_uebung`(`fsid`, `anrufer`, `rueckrufnr`, `e_objekt`, `pat_name`, `eart_fw`, `eart_rd`, `eart_pol`, `eart_thw`, `eart_sonst`, `tz_objekt`, `alarm`, `alarmdurch`, `stichwort`, `sosi`) VALUES ('" & Main.FSID.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox5.Text & "','" & TextBox5.Text & "','" & TextBox5.Text & "','" & TextBox5.Text & "','" & TextBox7.Text & "','" & Now() & "', '" & Main.Label6.Text & "','" & TextBox8.Text & "','" & hilf & "')")
    102. Dim anzahl As MySqlLib.ResultCollection = db.Query("SELECT * FROM `ils_uebung`")
    103. If CheckedListBox1.CheckedItems.Count > 0 Then
    104. For xy As Integer = 1 To CheckedListBox1.CheckedItems.Count Step 1
    105. db.Query("UPDATE `ils_schleifen` SET `alarm`='" & anzahl.Row(anzahl.Row.Count - 1).Column("id") & "' WHERE `name` = '" & CheckedListBox1.CheckedItems.Item(xy - 1) & "' AND `fsid`='" & Main.FSID.Text & "'")
    106. If CheckBox1.Checked = True Then
    107. Dim grouptoken As MySqlLib.ResultCollection = db.Query("SELECT `pushover_api` FROM `ils_schleifen` WHERE `name` = '" & CheckedListBox1.CheckedItems.Item(xy - 1) & "' AND `fsid`='" & Main.FSID.Text & "'")
    108. WebBrowser1.Navigate("http://www.vlst-software.de/funkspiel-ils/pushover_api.php?ric=" & CheckedListBox1.CheckedItems.Item(xy - 1) & "&token=" & grouptoken.Row(0).Column("pushover_api"), False)
    109. End If
    110. If CheckBox2.Checked = True Then
    111. Dim r As New System.Random()
    112. Dim x As String = "Schleife " & r.Next(1, 50) & " Gruppe " & r.Next(1, 50) & " Melder " & r.Next(1, 500)
    113. db.Query("INSERT INTO `ils_bmz`(`fsid`, `bma_name`, `bma_art`, `bma_text`) VALUES ('" & Main.FSID.Text & "','" & TextBox3.Text & "','F','" & x & "')")
    114. End If
    115. Next
    116. End If
    117. Catch ex As Exception
    118. MessageBox.Show("Es ist folgender Fehler aufgetreten:" & vbNewLine & "(" & ex.HResult & ") " & ex.Message, "Funkspiel-ILS :: MySQL-Fehler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    119. End Try
    120. Me.Close()
    121. Dim tcpClient As New System.Net.Sockets.TcpClient()
    122. tcpClient.Connect("xxxxxx", "10011")
    123. Dim networkStream As Sockets.NetworkStream = tcpClient.GetStream()
    124. Dim sendBytes As [Byte]()
    125. sendBytes = Encoding.ASCII.GetBytes("login serveradmin xxxxxx" + vbCrLf)
    126. networkStream.Write(sendBytes, 0, sendBytes.Length)
    127. sendBytes = Encoding.ASCII.GetBytes("use sid=1" + vbCrLf)
    128. networkStream.Write(sendBytes, 0, sendBytes.Length)
    129. sendBytes = Encoding.ASCII.GetBytes("clientupdate client_nickname=Leitstelle\smit\sUebungs\sAlarm" + vbCrLf)
    130. networkStream.Write(sendBytes, 0, sendBytes.Length)
    131. Dim result As MySqlLib.ResultCollection = db.Query("SELECT id, eart_fw, eart_rd, eart_pol, eart_thw, eart_sonst, e_objekt, e_strasse, e_ort, e_info, pat_name, alarm FROM ils_uebung ORDER BY id DESC LIMIT 1")
    132. Dim ils_id As Integer = result.Row(0).Column("id")
    133. Dim alarm As String = result.Row(0).Column("alarm")
    134. alarm = alarm.Trim().Replace(" ", "\s")
    135. Dim eart_fw As String = result.Row(0).Column("eart_fw")
    136. eart_fw = eart_fw.Trim().Replace(" ", "\s")
    137. Dim eart_rd As String = result.Row(0).Column("eart_rd")
    138. eart_rd = eart_rd.Trim().Replace(" ", "\s")
    139. Dim e_objekt As String = result.Row(0).Column("e_objekt")
    140. e_objekt = e_objekt.Trim().Replace(" ", "\s")
    141. Dim e_strasse As String = result.Row(0).Column("e_strasse")
    142. e_strasse = e_strasse.Trim().Replace(" ", "\s")
    143. Dim e_ort As String = result.Row(0).Column("e_ort")
    144. e_ort = e_ort.Trim().Replace(" ", "\s")
    145. Dim e_info As String = result.Row(0).Column("e_info")
    146. e_info = e_info.Trim().Replace(" ", "\s")
    147. Dim pat_name As String = result.Row(0).Column("pat_name")
    148. pat_name = pat_name.Trim().Replace(" ", "\s")
    149. Dim newresult As MySqlLib.ResultCollection = db.Query("SELECT name FROM ils_schleifen WHERE alarm=" & ils_id)
    150. Dim wache As String = newresult.Row(0).Column("name")
    151. If newresult.Row.Count > 1 Then
    152. For xy As Integer = 2 To newresult.Row.Count Step 1
    153. wache = wache & ", " & newresult.Row(xy - 1).Column("name")
    154. Next
    155. End If
    156. wache = wache.Trim().Replace(" ", "\s")
    157. Dim msg As String = "Uebung\s" & ils_id & "\sam\s" & alarm &
    158. "\sStichwort\sFeuerwehr:\s" & eart_fw &
    159. "\sStichwort\sRettungsdienst:\s" & eart_rd &
    160. "\sPatienten\sName:\s" & pat_name &
    161. "\sWeitere\sInfos:\s" & e_info &
    162. "\sEs\sgeht\snach:\s" & e_objekt &
    163. "\sStrasse:\s" & e_strasse &
    164. "\sOrt:\s" & e_ort &
    165. "\sSchleife:\s" & wache
    166. Dim toSend As String = "sendtextmessage targetmode=3 target=1 msg=[b][color=red]" & msg
    167. sendBytes = Encoding.ASCII.GetBytes(toSend + vbCrLf)
    168. networkStream.Write(sendBytes, 0, sendBytes.Length)
    169. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    170. networkStream.Write(sendBytes, 0, sendBytes.Length)
    171. If Not networkStream.CanRead Then
    172. Console.WriteLine("cannot not write data to this stream")
    173. tcpClient.Close()
    174. Else
    175. If Not networkStream.CanWrite Then
    176. Console.WriteLine("cannot read data from this stream")
    177. tcpClient.Close()
    178. End If
    179. End If
    180. ' pause so user can view the console output
    181. Console.ReadLine()
    182. End Sub
    183. Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
    184. stichwort_viewer.Show()
    185. End Sub
    186. [color=#0000ff]Sub SendPushoverMessage(Message As String, PushOverUserKey As String)
    187. Const PushoverAppKey = "xxxxxxxxxx" 'hier dein Application Token eintragen
    188. Static PushOver As New PushoverClient.Pushover(PushoverAppKey)
    189. Dim Response = PushOver.Push("PushOverTest", Message, PushOverUserKey)
    190. For Each ErrorMsg In Response.Errors
    191. MessageBox.Show(ErrorMsg)
    192. Next
    193. End Sub[/color]
    194. End Class



    *Spoiler eingefügt*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Du sprichst von Button 3, der Code steht aber bei Button1... oder heißt Button 3 bei dir Button 1?

    Edit: Sorry, ziehe meine Antwort zurück. Hab in dem ellenlangen Code überlesen das es 2 Click Events sind.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „mrMo“ ()

    petaod schrieb:

    Setz einen Breakpoint in Zeile 197.
    Kommt er dort vorbei?


    Sorry Blicke nun nicht mehr durch Breakpoint ist doch ein Leerzeichen oder bzw Haltepunkt

    EDIT geht noch nicht er zeigt bei nem haltepunkt bei Debugging folgendes an

    Der Haltepunkt wird momentan nicht ereicht

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Norman18vk“ ()

    Norman18vk schrieb:

    Der Haltepunkt wird momentan nicht ereicht
    Mach mal "Projektmappe neu erstellen".
    Du scheinst ein absolutes Chaos in deinem Projekt zu haben,

    Norman18vk schrieb:

    da Pushover nicht so ganz Funken will
    gebe ich dir mit HttpWebRequest noch weniger Chancen.
    PushoverNet ist ein Zweizeiler.
    HttpWebRequest ist komplizierter.

    An deiner Stelle würde ich einfach ein leeres Testprojekt machen und den Testaufruf implementieren.
    Wenn du dann verstanden hast, wie (und dass) es funktioniert, kannst du es an geeigneter Stelle in dein Programm einbauen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Dann würde ich das in nuget deinstallieren und neu installieren.

    PushoverNet hat als Dependency ServiceStack.Text eingetragen und installiert das auch mit.
    ServiceStack.Text hat als Dependency .Net-Framework 4.5
    Könnte das das Problem sein?

    Das müsste aber bei der nuget-Installation als Fehler gemeldet werden.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --