Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Geigerzähler GQ Electronics GMC 320+ V5

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Geigerzähler GQ Electronics GMC 320+ V5

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklycommunication
3 Beiträge 3 Kommentatoren 622 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    JamesFrosch007
    schrieb am zuletzt editiert von JamesFrosch007
    #1

    Hallo zusamen,

    ich möchte gern meinen Geigerzähler in meine IOBroker-Umgebung integrieren. Leider verfüge ich über keine Javascript Kenntnisse, deshalb wollte ich gern mit Blockly arbeiten. Leider gibt es keinen passenden Adapter für das Gerät. Folgende Ansätze sind mir in den Sinn gekommen:

    • Das Gerät verfügt über eine virtuelle serielle Schnittstelle (USB), darüber könnte man einen Befehl absetzen und bekommt den aktuellen Messwert zurück aber wie macht man das über Blockly oder gibt es irgend einen Adapter der serielle Kommunikation ermöglicht? Ich hab es soweit auf dem Raspberry Pi eingerichet bekommen, dass ich über ein Terminalprogramm über /dev/ttyUSB0 mit dem Gerät reden kann.

    • Das Gerät verfügt über ein WLAN-Interface und ist in der Lage seine Daten an eine wählbare URL zu posten in der Form: http://www.GMCmap.com/log.asp?id=UserAccountID+GeigerCounterID+CPM+ACPM+uSV
      mit welchen Adapter könnte man das evtl. auswerten, wie kann man es realisieren, dass die Daten dann trotzdem auch noch auf der Webseite landen?

    • Die Daten landen auf der GMC-Map:
      https://www.gmcmap.com/historyData.asp?Param_ID=84088394441
      bzw. auch http://www.gmcmap.com/GMHistoryExec-new-data.asp?param_ID=84088394441
      gibt es einen Adapter mit dem man das von dort rausziehen könnte?

    Welcher Ansatz ist am ehesten erfolgversprechend? Oder wäre sogar ein Request für einen Adapter sinnvoll?
    Weitere Details findet man auf http://www.gqelectronicsllc.com/GMC-320PlusV5UserGuide.pdf .
    Für Ideen und Anregungen wäre ich sehr dankbar!

    SBorgS 1 Antwort Letzte Antwort
    0
    • J JamesFrosch007

      Hallo zusamen,

      ich möchte gern meinen Geigerzähler in meine IOBroker-Umgebung integrieren. Leider verfüge ich über keine Javascript Kenntnisse, deshalb wollte ich gern mit Blockly arbeiten. Leider gibt es keinen passenden Adapter für das Gerät. Folgende Ansätze sind mir in den Sinn gekommen:

      • Das Gerät verfügt über eine virtuelle serielle Schnittstelle (USB), darüber könnte man einen Befehl absetzen und bekommt den aktuellen Messwert zurück aber wie macht man das über Blockly oder gibt es irgend einen Adapter der serielle Kommunikation ermöglicht? Ich hab es soweit auf dem Raspberry Pi eingerichet bekommen, dass ich über ein Terminalprogramm über /dev/ttyUSB0 mit dem Gerät reden kann.

      • Das Gerät verfügt über ein WLAN-Interface und ist in der Lage seine Daten an eine wählbare URL zu posten in der Form: http://www.GMCmap.com/log.asp?id=UserAccountID+GeigerCounterID+CPM+ACPM+uSV
        mit welchen Adapter könnte man das evtl. auswerten, wie kann man es realisieren, dass die Daten dann trotzdem auch noch auf der Webseite landen?

      • Die Daten landen auf der GMC-Map:
        https://www.gmcmap.com/historyData.asp?Param_ID=84088394441
        bzw. auch http://www.gmcmap.com/GMHistoryExec-new-data.asp?param_ID=84088394441
        gibt es einen Adapter mit dem man das von dort rausziehen könnte?

      Welcher Ansatz ist am ehesten erfolgversprechend? Oder wäre sogar ein Request für einen Adapter sinnvoll?
      Weitere Details findet man auf http://www.gqelectronicsllc.com/GMC-320PlusV5UserGuide.pdf .
      Für Ideen und Anregungen wäre ich sehr dankbar!

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @JamesFrosch007 Hi,
      da wären zwei Ansätze sinnvoll/zielführend (Adapter wird sich keiner erbarmen).

      • kleines Shellskript welches den /dev/ttyUSB0-Wert abfragt und per SimpleAPI in den ioB überträgt
      • RegEx per Parser-Adapter, der die Werte aus der Webseite ausliest

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      S 1 Antwort Letzte Antwort
      1
      • SBorgS SBorg

        @JamesFrosch007 Hi,
        da wären zwei Ansätze sinnvoll/zielführend (Adapter wird sich keiner erbarmen).

        • kleines Shellskript welches den /dev/ttyUSB0-Wert abfragt und per SimpleAPI in den ioB überträgt
        • RegEx per Parser-Adapter, der die Werte aus der Webseite ausliest
        S Offline
        S Offline
        superflip
        schrieb am zuletzt editiert von
        #3

        @sborg
        @JamesFrosch007

        falls das Thema noch wen interessiert:

        • ich hab das mit Node-Red relativ einfach gelöst.
        • zusätzliches npm package node-red-node-serialport installiert
        • Node-Red-Flow
        [
            {
                "id": "7f40fabab7ea23c0",
                "type": "serial in",
                "z": "c241f527b52bd10a",
                "name": "GMC-320",
                "serial": "15ad7491d36bd43d",
                "x": 220,
                "y": 100,
                "wires": [
                    [
                        "222a8e8215c110c6"
                    ]
                ]
            },
            {
                "id": "222a8e8215c110c6",
                "type": "function",
                "z": "c241f527b52bd10a",
                "name": "function 4",
                "func": "//@superflip - 2025-03-25\n\nif (msg.payload && Buffer.isBuffer(msg.payload) && msg.payload.length > 0) {\n //read Buffer and write to local variable\n let buffer = msg.payload;\n let cpm = buffer.readUInt8(0);\n\n // check, if counter already exists\n if (!context.counterCPM) {\n    context.counterCPM = 0; // Initialisiere den Zähler\n    //first buffer is sometimes set to 128\n    if (cpm == 128) {\n        cpm=0;\n    }\n }\n\n // calculate time since last reset\n let currentTime = new Date().getTime();\n if (!context.lastResetTime) {\n    context.lastResetTime = currentTime;\n }\n\n //add new value to counter\n context.counterCPM += cpm;\n\n // if 60s are over\n if (currentTime - context.lastResetTime >= 60000) {\n    // write msg.payload.total for further processing\n    msg.payload = { total: context.counterCPM};\n    // reset counter\n    context.counterCPM = 0;\n    context.lastResetTime = currentTime;\n }\n\n} \n\nreturn msg;\n",
                "outputs": 1,
                "timeout": 0,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 400,
                "y": 100,
                "wires": [
                    [
                        "72e83dc1246866b4"
                    ]
                ]
            },
            {
                "id": "72e83dc1246866b4",
                "type": "switch",
                "z": "c241f527b52bd10a",
                "name": "",
                "property": "payload.total",
                "propertyType": "msg",
                "rules": [
                    {
                        "t": "nnull"
                    }
                ],
                "checkall": "true",
                "repair": false,
                "outputs": 1,
                "x": 550,
                "y": 100,
                "wires": [
                    [
                        "755b9544f295d10a"
                    ]
                ]
            },
            {
                "id": "427bfe4a2025d94e",
                "type": "ioBroker out",
                "z": "c241f527b52bd10a",
                "name": "CPM schreiben",
                "topic": "0_userdata.0.test.radioactivity",
                "ack": "true",
                "autoCreate": "false",
                "stateName": "",
                "role": "",
                "payloadType": "",
                "readonly": "",
                "stateUnit": "",
                "stateMin": "",
                "stateMax": "",
                "x": 940,
                "y": 100,
                "wires": []
            },
            {
                "id": "755b9544f295d10a",
                "type": "change",
                "z": "c241f527b52bd10a",
                "name": "",
                "rules": [
                    {
                        "t": "set",
                        "p": "payload",
                        "pt": "msg",
                        "to": "payload.total",
                        "tot": "msg"
                    }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 730,
                "y": 100,
                "wires": [
                    [
                        "427bfe4a2025d94e"
                    ]
                ]
            },
            {
                "id": "15ad7491d36bd43d",
                "type": "serial-port",
                "name": "",
                "serialport": "/dev/ttyUSB0",
                "serialbaud": "115200",
                "databits": "8",
                "parity": "none",
                "stopbits": "1",
                "waitfor": "",
                "dtr": "none",
                "rts": "none",
                "cts": "none",
                "dsr": "none",
                "newline": "0x80",
                "bin": "bin",
                "out": "char",
                "addchar": "",
                "responsetimeout": "10000"
            }
        ]
        
        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        773

        Online

        32.7k

        Benutzer

        82.3k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe