rtl433  UNKNOWN
RTL-433 utility
output_mqtt.c File Reference

MQTT output for rtl_433 events. More...

Data Structures

struct  mqtt_client
 
struct  data_output_mqtt_t
 

Typedefs

typedef struct mqtt_client mqtt_client_t
 

Functions

static void mqtt_client_event (struct mg_connection *nc, int ev, void *ev_data)
 
static struct mg_mgrmqtt_client_init (char const *host, char const *port, char const *user, char const *pass, char const *client_id, int retain)
 
static int mqtt_client_poll (struct mg_mgr *mgr)
 
static void mqtt_client_publish (struct mg_mgr *mgr, char const *topic, char const *str)
 
static void mqtt_client_free (struct mg_mgr *mgr)
 
static char * mqtt_sanitize_topic (char *topic)
 clean the topic inplace to [-.A-Za-z0-9], esp. not whitespace, +, #, /, $ More...
 
static void print_mqtt_array (data_output_t *output, data_array_t *array, char *format)
 
static char * append_topic (char *topic, data_t *data)
 
static char * expand_topic (char *topic, char const *format, data_t *data, char const *hostname)
 
static void print_mqtt_data (data_output_t *output, data_t *data, char *format)
 
static void print_mqtt_string (data_output_t *output, char const *str, char *format)
 
static void print_mqtt_double (data_output_t *output, double data, char *format)
 
static void print_mqtt_int (data_output_t *output, int data, char *format)
 
static void data_output_mqtt_poll (data_output_t *output)
 
static void data_output_mqtt_free (data_output_t *output)
 
static char * mqtt_topic_default (char const *topic, char const *base, char const *suffix)
 
struct data_outputdata_output_mqtt_create (char const *host, char const *port, char *opts, char const *dev_hint)
 

Detailed Description

MQTT output for rtl_433 events.

Copyright (C) 2019 Christian Zuckschwerdt

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Typedef Documentation

◆ mqtt_client_t

typedef struct mqtt_client mqtt_client_t

Function Documentation

◆ append_topic()

static char* append_topic ( char *  topic,
data_t data 
)
static

◆ data_output_mqtt_create()

◆ data_output_mqtt_free()

◆ data_output_mqtt_poll()

static void data_output_mqtt_poll ( data_output_t output)
static

◆ expand_topic()

static char* expand_topic ( char *  topic,
char const *  format,
data_t data,
char const *  hostname 
)
static

References append_topic(), and data::next.

Referenced by print_mqtt_data().

◆ mqtt_client_event()

◆ mqtt_client_free()

static void mqtt_client_free ( struct mg_mgr mgr)
static

References mg_mgr_free(), and mg_mgr::user_data.

Referenced by data_output_mqtt_free().

◆ mqtt_client_init()

static struct mg_mgr* mqtt_client_init ( char const *  host,
char const *  port,
char const *  user,
char const *  pass,
char const *  client_id,
int  retain 
)
static

◆ mqtt_client_poll()

static int mqtt_client_poll ( struct mg_mgr mgr)
static

References mg_mgr_poll().

Referenced by data_output_mqtt_poll().

◆ mqtt_client_publish()

static void mqtt_client_publish ( struct mg_mgr mgr,
char const *  topic,
char const *  str 
)
static

◆ mqtt_sanitize_topic()

static char* mqtt_sanitize_topic ( char *  topic)
static

clean the topic inplace to [-.A-Za-z0-9], esp. not whitespace, +, #, /, $

Referenced by append_topic().

◆ mqtt_topic_default()

static char* mqtt_topic_default ( char const *  topic,
char const *  base,
char const *  suffix 
)
static

References strdup().

Referenced by data_output_mqtt_create().

◆ print_mqtt_array()

static void print_mqtt_array ( data_output_t output,
data_array_t array,
char *  format 
)
static

◆ print_mqtt_data()

◆ print_mqtt_double()

static void print_mqtt_double ( data_output_t output,
double  data,
char *  format 
)
static

References print_mqtt_string().

Referenced by data_output_mqtt_create().

◆ print_mqtt_int()

static void print_mqtt_int ( data_output_t output,
int  data,
char *  format 
)
static

References print_mqtt_string().

Referenced by data_output_mqtt_create().

◆ print_mqtt_string()

static void print_mqtt_string ( data_output_t output,
char const *  str,
char *  format 
)
static