Amateurfunk Forum - Archiv

Fragen und Antworten zum Thema Funk


Impressum

Verantwortlich für dieses Angebot gemäß § 5 TMG / § 55 RStV:
Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Datenschutzerklärung

Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).

Verantwortlicher

Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Arten der verarbeiteten Daten:

- Meta-/Kommunikationsdaten (siehe Abschnitt „Erhebung von Zugriffsdaten und Logfiles“)

Kategorien betroffener Personen

Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).

Zweck der Verarbeitung

- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte
- Sicherheitsmaßnahmen.

Verwendete Begrifflichkeiten

„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.

„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.

„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.

Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.

„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.

Maßgebliche Rechtsgrundlagen

Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.

Sicherheitsmaßnahmen

Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.

Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).

Zusammenarbeit mit Auftragsverarbeitern und Dritten

Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).

Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.

Übermittlungen in Drittländer

Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).

Rechte der betroffenen Personen

Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.

Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.

Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.

Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.

Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.

Widerrufsrecht

Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen

Widerspruchsrecht

Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.

Löschung von Daten

Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.

Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).

Hosting und E-Mail-Versand

Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.

Hierbei verarbeiten wir, bzw. unser Hostinganbieter Meta- und Kommunikationsdaten von Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).

Erhebung von Zugriffsdaten und Logfiles

Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.

Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.

Vom Websiteinhaber angepasst
Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke




 [ 40 Beiträge ]  Gehe zu Seite 1, 2, 3,
Autor Nachricht
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Dieter,

keine Angst, Du bist nicht unverschämt. Das Script ist eigentlich ein schöne Sache, jetzt wo ich es doch installiert habe, nutze ich es auch gern. Vorhin war allerdings zeitweise der HAMQTH-Server ausgefallen, aber die Jungs haben es schnell wieder in den Griff bekommen.

Am einfachsten ist, Du nimmst das neue Script einfach von hier und erstellst es neu:

[code:yiftfnhw]# fauxqrz.py -- Fool HRD Logbook into thinking this script is xmldata.qrz.com
# and feed it free hamqth.com data instead
# pip install cherrypy requests pypiwin32
# add the following entries to %windir%\system32\drivers\etc\hosts:
# 127.0.0.5 xmldata.qrz.com
# 127.0.0.5 xml.qrz.com

import cherrypy
import requests
import re
import os
import sys
from datetime import datetime
from xml.etree import ElementTree

if sys.platform == 'win32':
import win32serviceutil
import win32service
import ctypes

hamqthurl = "http://www.hamqth.com/xml.php"

reload(sys)
sys.setdefaultencoding('utf8')

translate = [
[ r'<callsign>(.*)</callsign>', lambda match: r'<call>%s</call>' % (match.group(1).upper())],
[ r'<(.*)>(-?\d*\.\d+)</.*>', lambda match: "<%s>%.5f</%s>" % (match.group(1),float(match.group(2)),match.group(1))],
[ r'<adif>(.*)</adif>', r'<dxcc>\1</dxcc>'],
[ r'<adr_name>(.*)\s(.*)</adr_name>', r'<fname>\1</fname><name>\2</name>'],
[ r'adr_street1', r'addr1'],
[ r'adr_city', r'addr2'],
[ r'us_county', r'county'],
[ r'latitude', r'lat'],
[ r'longitude', r'lon'],
[ r'us_state', r'state'],
[ r'adr_zip', r'zip'],
[ r'adr_country', r'country'],
[ r'adr_adif', r'ccode'],
[ r'<HamQTH version="\d*\.\d+" xmlns="http://www.hamqth.com">', r'<QRZDatabase version="1.33" xmlns="http://www.qrz.com">'],
[ r'<search>', r'<Callsign>'],
[ r'</search>', r'</Callsign>'],
[ r'</HamQTH>', r''],
[ r'<(.*)>\?</.*>', r'<\1>N</\1>' ],
[ r'<itu>(.*)</itu>', r'<ituzone>\1</ituzone>'],
[ r'<cq>(.*)</cq>', r'<cqzone>\1</cqzone>'],
[ r'utc_offset', r'GMTOffset'],
[ r'<nick>.*</nick>', r''],
[ r'<qth>.*</qth>', r''],
[ r'<continent>.*</continent>', r'<bio>none</bio>'],
[ r'<qsldirect>.*</qsldirect>', r''],
]

# fix for noaa data that HRD tries to download at launch
class noaafix(object):
@cherrypy.expose
def index(self):
return "noaafix, part of <a href=\"http://github.com/krisp/fauxqrz\">fauxqrz (http://github.com/krisp/fauxqrz)</a>"
@cherrypy.expose
def DSD_txt(self):
cherrypy.response.headers['Content-Type'] = "text/plain"
return requests.get("http://legacy-www.swpc.noaa.gov/ftpdir/indices/DSD.txt").content
@cherrypy.expose
def wwv_txt(self):
cherrypy.response.headers['Content-Type'] = "text/plain"
return requests.get("http://legacy-www.swpc.noaa.gov/ftpdir/latest/wwv.txt").content
@cherrypy.expose
def RecentIndices_txt(self):
cherrypy.response.headers['Content-Type'] = "text/plain"
return requests.get("http://legacy-www.swpc.noaa.gov/ftpdir/weekly/RecentIndices.txt").content
@cherrypy.expose
def Predict_txt(self):
cherrypy.response.headers['Content-Type'] = "text/plain"
return requests.get("http://legacy-www.swpc.noaa.gov/ftpdir/weekly/Predict.txt").content
Predict_low_txt = Predict_txt
Predict_high_txt = Predict_txt

# translator for hamqth.com to qrz.com xml callsign data
class fauxqrz(object):
@cherrypy.expose
def xml(self, *args, **kargs):
return self.index(*args, **kargs)

@cherrypy.expose
def index(self, username=0, password=0, agent=0, s=0, callsign=0, bio=0):
if not username and not callsign and not bio:
return "<a href=\"http://github.com/krisp/fauxqrz\">fauxqrz (http://github.com/krisp/fauxqrz)</a> runs here "

now = datetime.utcnow().ctime()
# logging in
if username:
cherrypy.response.headers['Content-Type'] = "text/xml"

r = requests.get(hamqthurl + "?u=%s&p=%s" % (username, password))
t = ElementTree.fromstring(r.content)

key = t[0][0].text
# error the way qrz would if login to h
if "Wrong" in key:
# return """<?xml version="1.0" encoding="iso-8859-1" ?>
return """<?xml version="1.0" encoding="utf-8" ?>
<QRZDatabase version="1.33" xmlns="http://www.qrz.com">
<Session>
<Error>Password Incorrect</Error>
<GMTime>"""+now+"""</GMTime>
<Remark>cpu: 0.027s</Remark>
</Session>
</QRZDatabase>"""

# return hamqth.com key
return """<?xml version="1.0" encoding="utf-8" ?>
<QRZDatabase version="1.33" xmlns="http://www.qrz.com">
<Session>
<Key>"""+key+"""</Key>
<Count>1</Count>
<SubExp>Thu Jan 1 12:00:00 2099</SubExp>
<GMTime>"""+now+"""</GMTime>
</Session>
</QRZDatabase>
"""
# looking up callsign
if callsign and s:
cherrypy.response.headers['Content-Type'] = "text/xml"

r = requests.get(hamqthurl + "?id=%s&callsign=%s&prg=fauxqrz" % (s,callsign.upper()))
xml = r.content

# translate xml from hamqth format to qrz format
for x in (translate):
xml = re.sub(x[0], x[1], xml)

return xml + """<Session>
<Key>"""+s+"""</Key>
<Count>1</Count>
<SubExp>Thu Jan 1 12:00:00 2099</SubExp>
<GMTime>"""+now+"""</GMTime>
</Session>
</QRZDatabase>"""

if bio and s:
cherrypy.response.headers['Content-Type'] = "text/xml"
return """<?xml version="1.0" ?>
<QRZDatabase version="1.18" xmlns="http://www.qrz.com">
<Bio>
<call>"""+bio+"""</call>
<size>258</size>
<bio>Imported using fauxqrz (http://github.com/krisp/fauxqrz)</bio>
<modified>2015-04-18</modified>
</Bio>
<Session>
<Key>"""+s+"""</Key>
<Count>1</Count>
<SubExp>Thu Jan 1 12:00:00 2099</SubExp>
<GMTime>"""+now+"""</GMTime>
</Session>
</QRZDatabase>"""
else:
return "Invalid combination of options"

class fauxqrzService(win32serviceutil.ServiceFramework):
"""NT Service."""
_svc_name_ = "fauxqrzsvc"
_svc_display_name_ = "fauxqrz Service"

def SvcDoRun(self):
n = ctypes.windll.kernel32.GetEnvironmentVariableW(u'TEMP', None, 0)
buf = ctypes.create_unicode_buffer(u'\0'*n)
ctypes.windll.kernel32.GetEnvironmentVariableW(u'TEMP', buf, n)
tmpdir = buf.value
# tmpdir = "C:\temp"

cherrypy.config.update({
'global':{
'log.screen': False,
'server.socket_port': 80,
'server.socket_host': '127.0.0.5',
'engine.autoreload.on': False,
'engine.SIGHUP': None,
'engine.SIGTERM': None,
'log.error_file': tmpdir + u'\\fauxqrz.log',
'log.access_file': tmpdir + u'\\fauxqrz.log',
'tools.log_tracebacks.on': True
}
})
cherrypy.tree.mount(fauxqrz(), "/")
cherrypy.tree.mount(fauxqrz(), "/xml/current")
cherrypy.tree.mount(fauxqrz(), "/bin")
cherrypy.tree.mount(noaafix(), "/ftpdir/indices")
cherrypy.tree.mount(noaafix(), "/ftpdir/latest")
cherrypy.tree.mount(noaafix(), "/ftpdir/weekly")
cherrypy.engine.start()
cherrypy.engine.block()

def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
cherrypy.engine.exit()
self.ReportServiceStatus(win32service.SERVICE_STOPPED)

if __name__ == "__main__":
print "\n===== fauxqrz starting up =====\nhttp://github.com/krisp/fauxqrz"
print "==============================="

if(len(sys.argv) > 1 and sys.platform == 'win32'):
win32serviceutil.HandleCommandLine(fauxqrzService)
else:
cherrypy.config.update({'server.socket_host': '127.0.0.5',
'server.socket_port': 80,
})
cherrypy.tree.mount(fauxqrz(), "/")
cherrypy.tree.mount(fauxqrz(), "/xml/current")
cherrypy.tree.mount(fauxqrz(), "/bin")
cherrypy.tree.mount(noaafix(), "/ftpdir/indices")
cherrypy.tree.mount(noaafix(), "/ftpdir/latest")
cherrypy.tree.mount(noaafix(), "/ftpdir/weekly")
cherrypy.engine.start()
cherrypy.engine.block()
[/code:yiftfnhw]

Die Änderungen sind vor allem am Anfang und in der Mitte, überall dort, wo das Wort "utf-8" auftaucht.

Zuvor gab es (im LOG sehr schön zu verfolgende) Fehlermeldungen, daß die ASCII-Dekodierung nicht richtig funktioniert hat. In meinem Fall war das so, daß es bei manchen Rufzeichen einwandfrei ging, während es bei anderen nichts zurücklieferte. Das lag an Sonderzeichen (z.B. bei DF5WW; der hat in seiner Adresse ein "ö"; das gab Probleme, wohingegen DJ7WW seinen Namen mit "oe" schreibt, was einwandfrei funktioniert).

Durch die erzwungene UTF-8-Kodierung sollte das behoben sein. Zumindest bei mir kommen nun alle Rufzeichen mit den Daten einwandfrei herüber.

Habe das auch mit Deinem Kanada-VE-Beispiel getestet: Alles einwandfrei, auch in DM780.

---

Hier nun das Test-Script für die Dienste-Installation.

[code:yiftfnhw]
# DL9IU.py
#
# Test fuer DL9IU

import win32serviceutil
import win32service
import win32event

class DL9IU(win32serviceutil.ServiceFramework):
_svc_name_ = "DL9IUService"
_svc_display_name_ = "DL9IUService"

def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self, args)
# Event erstellen
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

def SvcStop(self):
# Den Status an den SCM reporten (STOP pending)
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
# Event ausloesen, damit er stoppt
win32event.SetEvent(self.hWaitStop)

def SvcDoRun(self):
# Warten auf Godot... nein, auf das Event
win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

if __name__=='__main__':
win32serviceutil.HandleCommandLine(DL9IU)

[/code:yiftfnhw]

Das Script soll DL9IU.py heißen. Bitte installiere es mittels:

python dl9iu.py install

(Das mit dem Startup brauchst Du nicht.)

Dann:

python dl9iu.py start

Dann mal prüfen, was passiert.

Viel Erfolg!
:)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Günther,

Du machst die Angelegenheit ja richtig spannend. Ich kann zumindest von einem Teilerfolg berichten:

1. DL9IU Service

[url=http://www.bilder-upload.eu/show.php?file=2a7cde-1487200276.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/2a7cde-1487200276.jpg[/img:2t32g16l][/url:2t32g16l]

[url=http://www.bilder-upload.eu/show.php?file=063298-1487200335.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/063298-1487200335.jpg[/img:2t32g16l][/url:2t32g16l]

[url=http://www.bilder-upload.eu/show.php?file=2976c2-1487200367.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/2976c2-1487200367.jpg[/img:2t32g16l][/url:2t32g16l]

Hurra, es hat geklappt.

2. fauxqrz Service mit geändertem Script

[url=http://www.bilder-upload.eu/show.php?file=60ac83-1487200878.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/60ac83-1487200878.jpg[/img:2t32g16l][/url:2t32g16l]

Fehlermeldung in Zeile 86 des Scripts:

[url=http://www.bilder-upload.eu/show.php?file=63fcc3-1487200910.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/63fcc3-1487200910.jpg[/img:2t32g16l][/url:2t32g16l]

Script fauxqrz.py, Zeile86:

[url=http://www.bilder-upload.eu/show.php?file=7b7d80-1487201221.jpg:2t32g16l][img:2t32g16l]http://www.bilder-upload.eu/thumb/7b7d80-1487201221.jpg[/img:2t32g16l][/url:2t32g16l]

So, Du findest bestimmt die Fehlerursache. Ich bin schon gespannt.

73 de Dieter (DL9IU)

BTW, hast Du auch ein Rufzeichen?


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Guenther,

mir fällt soeben auf, dass Du im geänderten PY-Script verschiedene Schreibweisen verwendest:
'utf8' (ohne Bindestrich) und 'utf-8' (mir Bindestrich).
Ich weiß nicht, ob das von Bedeutung ist.

73 de Dieter (DL9IU)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Guenther,

es scheint so, als hätte ich die Fehlerursache selber gefunden.
In einer quasi Eingebung habe ich die PY-Script-Bereiche um Zeile 86 verglichen:

[url=http://www.bilder-upload.eu/show.php?file=88d747-1487232924.jpg:1p2fj1x3][img:1p2fj1x3]http://www.bilder-upload.eu/thumb/88d747-1487232924.jpg[/img:1p2fj1x3][/url:1p2fj1x3]

Als einzigen Unterschied habe ich festgestellt, dass in Deinem PY-Script die Zeile 86 an den Zeilenanfang verschoben ist. Ich hatte das nicht für eine mögliche Fehlerursache gehalten, aber trotzdem die entsprechenden Original-Textzeilen in Dein PY-Script kopiert. Zu meiner Verblüffung verliefen darauf hin Installation und Start des Dienstes fauxqrzsvc fehlerfrei:

[url=http://www.bilder-upload.eu/show.php?file=0f18dd-1487233291.jpg:1p2fj1x3][img:1p2fj1x3]http://www.bilder-upload.eu/thumb/0f18dd-1487233291.jpg[/img:1p2fj1x3][/url:1p2fj1x3]

Du hast bestimmt eine Erklärung für dieses Verhalten. Aber ich wollte Dich über diesen Erfolg sofort informieren.

Ich hoffe, dass jetzt auch bei mir die Datenübernahne von HamQTH in das HRD Logbook klappt. Über das Testergebnis werde ich berichten.

73 de Dieter (DL9IU)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Cool!

Wird der Dienst jetzt auch ausgeführt?

Irgendwie ist jetzt ein ganzer Beitrag von mir verschwunden... :(

Daher nur kurz: Die Zeile mit dem "runs here" muß eine einzige Zeile sein, das heißt das "runs here" darf nicht in die nächste Zeile rutschen (so wie oben im CODE passiert).

Mein Rufzeichen habe ich Dir als OM gesandt.

Und das mit dem UTF8 und utf-8 ist richtig.
:)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Sri, ich hatte vergessen, diesen Screenshot einzufügen:

[url=http://www.bilder-upload.eu/show.php?file=57faca-1487234137.jpg:11xz76qx][img:11xz76qx]http://www.bilder-upload.eu/thumb/57faca-1487234137.jpg[/img:11xz76qx][/url:11xz76qx]

Den Dienst DL9IUService kann ich jetzt wieder löschen.

73. de Dieter (DL9IU)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Günther,

nach erfolgreicher Installation des Dienstes [i:hukcpoe7]fauxqrzsvc[/i:hukcpoe7] haben die Tests ergeben:

1. fauxqrz.log
Zum ersten Mal ist dieses Log entstanden:

[url=http://www.bilder-upload.eu/show.php?file=388d9b-1487240533.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/388d9b-1487240533.jpg[/img:hukcpoe7][/url:hukcpoe7]

2. NOAA-Solardaten
Die NOOA-Solardaten werden korrekt vom HRD Logbook übernommen:

[url=http://www.bilder-upload.eu/show.php?file=589877-1487240598.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/589877-1487240598.jpg[/img:hukcpoe7][/url:hukcpoe7]

3. Übernahme der HamQTH-Daten in HRD 5.24, Testfall: VE3MZD
Die HamQTH-Daten werden, außer dem Locator in das HRD-Logbook, korrekt übernommen.

- HamQTH-Daten:
Locator: EN82MH

[url=http://www.bilder-upload.eu/show.php?file=e5844b-1487240881.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/e5844b-1487240881.jpg[/img:hukcpoe7][/url:hukcpoe7]

- Übernommene HamQTH-Daten in DM780
Korrekter Locator: EN82mh

[url=http://www.bilder-upload.eu/show.php?file=73db29-1487242079.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/73db29-1487242079.jpg[/img:hukcpoe7][/url:hukcpoe7]

- Übernommene HamQTH-Daten in das HRD Logbook:
Falscher Locator: DO87df

[url=http://www.bilder-upload.eu/show.php?file=dcc6e6-1487242109.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/dcc6e6-1487242109.jpg[/img:hukcpoe7][/url:hukcpoe7]

- Test-Daten vom HRD Logbook Callsign Lookup:

[url=http://www.bilder-upload.eu/show.php?file=554276-1487241219.jpg:hukcpoe7][img:hukcpoe7]http://www.bilder-upload.eu/thumb/554276-1487241219.jpg[/img:hukcpoe7][/url:hukcpoe7]

Diese Datei enthält in der Zeile: [i:hukcpoe7]<Gridsquare>EN82MH</Gridsquare>[/i:hukcpoe7] den korrekten HamQTH-Locator EN82MH, der aber nicht in das Locator-Eingabefeld übernommen wird. Das ist eigentlich der letzte Schönheitsfehler, der verblieben ist. Ich bin aber optimistisch, dass Du heraus bekommst, an welcher Schraube ich drehen muss, damit das bei mir auch noch stimmt. Bei Deinem Test war es ja richtig.

73 de Dieter (DL9IU)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hattest Du mit dem Mike schon vorher einmal Verbindungen?
HRD schaut normalerweise zuerst im Logbuch selbst nach, ob es eine Verbindung gab und holt dann die Daten von dort. Vielleicht ist da etwas schief gegangen?

Ansonsten sieht es nach einem Problem in HRD aus. Leider habe ich eine andere Version als Du (5.0). Wüßte jetzt nicht, wo ich da schauen soll...


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Hallo Günther,

Hurra, wir haben es geschafft. Es funktioniert bei mir alles bestens,
auch die Übernahme des HamQTH-Locators in das HRD Logbook.

!!!1000 Dank für Deine geduldige und kompetente Unterstützung!!!

Du möchtest bestimmt wissen, wie mir der Durchbruch gelungen ist.

Also mit dem Mike (VE3MZD) hatte ich noch keine Verbindung.

Der entscheidende Hinweis war, dass Du noch die ältere HRD-Version 5.0 nutzt. Anderenfalls hättest Du mit Sicherheit das gleiche Problem gehabt wie ich. Zum Glück habe ich die Setup-Dateien aller älteren HRD-Versionen gespeichert. So konnte ich schrittweise downgraden. Und siehe da, der Fehler tritt erst ab HDR-Version 5.23.1.2 bis zur letzten Free-Version 5.24.3.8 auf. Bei diesen Versionen wird im HRD Logbook der Locator offensichtlich aus den Landes-Kordinaten berechnet, im Eingabefeld für den Locator eingetragen, aber anschließend nicht mehr aktualisiert. Ich bin mir nicht sicher, ob andere oms vor mir schon diese Erkenntnis gewonnen haben.

Ich habe jetzt also die HRD-Version 5.22.0.2 installiert, die letzte Version, bei der dieser Fehler noch nicht auftritt.
Als Beweis:

[url=http://www.bilder-upload.eu/show.php?file=430491-1487258971.jpg:3pqooz19][img:3pqooz19]http://www.bilder-upload.eu/thumb/430491-1487258971.jpg[/img:3pqooz19][/url:3pqooz19]

Dank des genialen Backup-Programms HRD_BRU von IU2FGB konnte ich problemlos sämtliche Einstellungen und Daten der bisher genutzten Version 5.24.3.8 auf die Vorgänger-Version 5.22.0.2 übertragen.

Jetzt sind alle Probleme dieses Themas restlos geklärt und ich bedauere ein wenig, dass damit die tolle Zusammenarbeit mit Dir endet. Da mir Dein Rufzeichen jetzt bekannt ist, werde ich auf den KW-Bändern mal darauf achten, ob wir uns nicht zufällig über den Weg laufen.

73 de Dieter (DL9IU)


  
 
 Betreff des Beitrags: Re: Automatische Datenübertragung von WSJT-X über HRD zu eQS
Dieter,

da freue ich mich, daß nun alles klappt auch bei Dir! :)

Hatte mir fast schon gedacht, daß es an der Version liegt. Weiß allerdings nicht, warum es in dieser Version so umständlich berechnet wird. Ich meine, wenn der User sein Grid schon einträgt, warum ihn dann nicht nehmen? :)

Egal, man sieht sich auf den Bändern! Viel Erfolg und allzeit gute DX!


  
 

Sitemap Elektronikforum Elektroshop PostgreSQL Forum